У меня есть my_mouse_callback
пример функции, которая работает с IplImage *:
void my_mouse_callback(int event, int x, int y, int flags, void* param)
{
IplImage* image = (IplImage*) param;
switch( event )
{
case CV_EVENT_LBUTTONDOWN:
drawing_box = true;
box = cvRect(x, y, 0, 0);
break;
...
draw_box(image, box);
break;
}
, которая реализована в main
следующим образом:
cvSetMouseCallback(Box Example,my_mouse_callback,(void*) image);
Проблема в том, чтоВ моем коде я использую объект Mat, и он не может быть перенесен таким образом в функцию setMouseCallback
.
Я ищу решение, которое не включает перенос Mat в IplImage *.
Или, если решения не существует, как я могу правильно конвертировать Mat в IplImage *?
Я уже пробовал это с этим кодом из документации opencv:
Mat I;
IplImage* pI = &I.operator IplImage();
, и он не работал.