在OpenCV和C/C++中将Mat转换为IplImage*
Convert Mat to IplImage* in OpenCV and C/C++
在我的应用程序中,我有一个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图像转换为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)。
相关文章:
- 将CHW格式的浮点向量转换为cv::Mat
- 将 cv::mat 转换为 QImage
- 将 cv::Mat 转换为 std::vector 的通用函数
- 如何将 cv::Mat 转换为 vtkImageData?
- 如何将 vtkImageData 转换为 cv::Mat?
- Qt-工作线程崩溃时将cv::Mat转换为QImage
- 将 matlab 数组(MAT-文件)转换为C++数组
- 将 cv::Mat 转换为无符号的 int 像素
- 如何在不复制数据的情况下将 cv::Mat 转换为 2d 标准::矢量
- 将 Eigen::MatrixXd 转换为 arma::mat 并在新对象上制作副本
- 转换 cv::mat 转换为 std::矢量<double>并发症
- 如何将屏幕截图位图转换为 cv::Mat
- 如何从 cv::Mat (C++) 转换为 tf.placeholder(C++ Boost.Python)
- 采用OpenCV Mat<doube>并转换为12位值数组。
- 如何将C++数组转换为opencv Mat
- CV :: MAT如何从/转换为GLM :: MAT4
- 将CV :: MAT转换为STD :: vector而无需复制
- Mat的convertTo函数在OpenCV中将灰度图像的类型转换为CV_32F时抱怨断言错误
- 如何将atl :: cimage转换为cv :: mat
- OpenCV:向量<向量<Point>>向量的转换<Mat>,引用调用的问题