在我的应用程序中,我有一个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/

10-12 21:09