0

我有一个非常简单(也许很愚蠢)的问题。我有以下代码来使用 aruco 库检测 aruco 标记:

MarkerDetector MDetector;
vector<Marker> Markers;

this->TheCameraParameters.readFromXMLFile(CAMERA_PARAM_FILE);
this->TheCameraParameters.resize(frame.size());
MDetector.detect(frame,Markers, this->TheCameraParameters, MARKER_SIZE);

Markers这段代码给了我一个由不同检测标记组成的向量 ( )。如果我打印Markers出来,我会得到以下信息:

24=(304.631,14.2414) (358.085,12.8291) (358.957,69.6651) (306.197,71.0909) Txyz=0.0540816 -0.892379 2.30182 Rxyz=-2.99629 0.0430742 -0.0213533

但现在我想获取标记的像素值。使用Markers[0].id, Markers[0].TvecMarkers[0].Rvec我可以提取 id、平移和旋转矩阵,但我找不到获取像素值的方法。有人可以帮我弄这个吗?

4

1 回答 1

0

我在图书馆进行了深入搜索后找到了答案。

在以下输出中

24=(304.631,14.2414) (358.085,12.8291) (358.957,69.6651) (306.197,71.0909) Txyz=0.0540816 -0.892379 2.30182 Rxyz=-2.99629 0.0430742 -0.0213533

第一个元素 ( 24) 是标记的 id。接下来的 4 个元素是 4 个角的像素坐标。和你得到左上角的 x 和 y 坐标Markers[0][0].xMarkers[0][0].y

于 2018-02-02T21:46:30.700 回答