我有一个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();
它没有用。