在OpenCV和C/C++中将Mat转换为IplImage*

Mar*_*net 5 c++ opencv iplimage

在我的应用程序中,我有一个Mat文件,我想在一个带有cvShowImage的窗口中显示,该文件定义为:

void cvShowImage( const char* name, const CvArr* image )
Run Code Online (Sandbox Code Playgroud)

现在,问题是如果我直接传递Mat图像,它会给我一个错误转换:

cannot convert 'cv::Mat' to 'const CvArr*' for argument '2' to 'void cvShowImage(const char*, const CvArr*)'
Run Code Online (Sandbox Code Playgroud)

我试图在这个论坛中搜索有同样问题的人,我找到了这个opencv文档:http: //opencv.willowgarage.com/documentation/cpp/c++_cheatsheet.html

但我不明白如何使用它.

有人能给我一个如何将Mat图像转换为IplImage的例子吗?

这是我的代码:

Mat file;
Mat hogResultFrame = hogStep(temp2);
file = hogResultFrame;

  cvShowImage(window_title, (const CvArr*)(file));
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误的歪曲.

我希望你能帮帮我,

非常感谢!

eta*_*ion 6

为什么要尝试将C接口与C++数据类型一起使用?使用C++接口.

cv::namedWindow(window_title, 1);
cv::imshow(window_title, file);
Run Code Online (Sandbox Code Playgroud)