在我的应用程序中,我有一个Mat文件,我想在带有cvShowImage的窗口中显示该文件,该文件定义为:
void cvShowImage( const char* name, const CvArr* image )
现在的问题是,如果我直接传递Mat图像,它将给我一个错误转换:
cannot convert 'cv::Mat' to 'const CvArr*' for argument '2' to 'void cvShowImage(const char*, const CvArr*)'
我试图在此论坛中搜索存在相同问题的人,并找到了以下opencv文档:
http://opencv.willowgarage.com/documentation/cpp/c++_cheatsheet.html
但是我不知道如何使用它。
有人可以给我一个如何将Mat image转换为IplImage的示例吗?
这是我的代码:
Mat file;
Mat hogResultFrame = hogStep(temp2);
file = hogResultFrame;
cvShowImage(window_title, (const CvArr*)(file));
但这给了我一个错误的掩饰。
我希望你能帮帮我,
多谢!
最佳答案
为什么要尝试将C接口(interface)与C++数据类型一起使用?使用C++接口(interface)。
cv::namedWindow(window_title, 1);
cv::imshow(window_title, file);
关于c++ - 在OpenCV和C/C++中将Mat转换为IplImage *,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6176744/