微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在OpenCV和C / C ++中将Mat转换为IplImage *

|| 在我的应用程序中,我有一个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接口与C ++数据类型一起使用?使用C ++接口。
cv::namedWindow(window_title,1);
cv::imshow(window_title,file);
    ,        尝试这个:
IplImage image = file;
cvShowImage(window_title,&image);
顺便说一句。也许使用C ++ OpenCV函数显示图像确实会更好,它应该更容易,而且您不必担心是否已清除所有分配的内存(最好在此处查看示例代码:http://opencv.willowgarage.com/documentation/cpp/introduction.html)。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。