Вставить значение в переменную

У меня очень простой (может быть глупый) вопрос. У меня есть следующий код для обнаружения маркеров 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].Tvec,Markers[0].Rvec я могу извлечь идентификатор, матрицу перевода и поворота, но не могу найти способ получить значения пикселей. Может кто-то помочь мне с этим?


person Maxime    schedule 02.02.2018    source источник
comment
Дает вам что?   -  person Drise    schedule 02.02.2018
comment
Ой, извините, это не должно было стоять там   -  person Maxime    schedule 02.02.2018
comment
Кроме того, в качестве примечания на будущее, Thank You обычно не одобряются (или, по крайней мере, они были, когда я был тяжелым редактором). elses-thank-you">эта метассылка в отношении Thank you   -  person Drise    schedule 02.02.2018


Ответы (1)


Я нашел ответ после интенсивного поиска в библиотеке.

В следующем выводе

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) — это идентификатор маркера. Следующие 4 элемента — это пиксельные координаты 4 углов. С помощью Markers[0][0].x и Markers[0][0].y вы получаете координаты x и y верхнего левого угла.

person Maxime    schedule 02.02.2018