2013-04-22 10 views
0

У меня есть код, который находит контуры на изображении. Это отлично работает, и найденные контуры сохранены, а CvPoints используются для рисования линий вокруг контуров.Получить координаты X Y из CvPoint

Теперь я хочу установить ROI для изображения , и я не знаю, как обращаться к точкам X/Y для использования CvPoint. Точки pt all имеют определенные значения.

CvPoint *pt[4]; 
int ROIwidth = *pt[0].x - *pt[1].x; 

Это, похоже, не работает. Я получаю ошибки, говоря, что слева от .x 'должен быть класс/struct/union. Как это сделать? Другая статья, которую я нашел, предположил, что добавив .x или .y, вы сможете сделать трюк.

+0

Не кажется ли вам, что вы неправильно в '* пт [0] .x' и он должен быть 'пт [0] -> x' или '(* pt [0]). x'? –

ответ

2

Ошибка в вашем случае объясняется тем, что * имеет более низкий приоритет, чем . Таким образом, вы пытаетесь разыменовать целое число. Это вызывает проблему.

Таким образом, вы должны использовать:

pt[0]->x; 

или

*(pt[0]).x; 
Смежные вопросы