【发布时间】:2016-03-10 06:13:13
【问题描述】:
我有一个与 IplImage* 一起使用的 my_mouse_callback 示例函数:
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();
它没有用。
【问题讨论】: