-3

ARu​​co では、マーカーはカスタム クラスです。

行の使用: cout<<Markers[0];マーカーの場所vector<Marker>

次の例が出力される可能性があります。185=(61.277,163.281) (186.9,174.062) (182.589,293.509) (55.8044,296.465) Txyz=-999999 -999999 -999999 Rxyz=-999999 -999999 -999999

最初の 4 セットの数値が必要ですが、これらは、markername.attributename を介してアクセスできるクラスの属性ではありません。それらを出力する唯一の方法は、cout を使用することです。他のすべては私にアドレスを取得します。0xbf76ea14

だから私が見ることができる2つの可能な答え:

4

2 に答える 2

0

に既に送信されているものをプログラムで取得することはできませんcout

代わりに、アイテムをメモリ バッファに出力できます。

#include <sstream>
#include <ostream>
#include <string>

// ...

std::ostringstream oss;
oss << Markers[0];
std::string the_output = oss.str();

// you write some code to parse out the info you want from this string
于 2014-04-28T05:14:13.070 に答える
0

Aruco ソースから、使用しているストリーム挿入演算子を確認できます。

for (int i=0;i<4;i++) str<<"("<<M[i].x<< ","<<M[i].y<<") ";

Markers がタイプであると仮定すると、最初のポイントの x 値を取得するためにaruno::Marker使用できるはずです。Markers[0].x

代わりに Markers タイプの場合は、std::vector<aruno::Marker>を使用してアクセスできますMarkers[0][0].x

于 2014-04-28T05:18:01.807 に答える