C++ Opencv:cvLabel的IplImage转换垫
我有: 此外,在我的代码中,我会:C++ Opencv:cvLabel的IplImage转换垫,c++,opencv,blob,iplimage,C++,Opencv,Blob,Iplimage,我有: 此外,在我的代码中,我会: Mat *depthImage = new Mat(480, 640, CV_8UC1, Scalar::all(0)); 我用它做了一些OpenCV的东西,然后我想使用cvBlob(所以blob分析)。尽管此函数仍然使用IplImage而不是Mat。所以我想改变他们。我读到我可以这样做: Mat image = *depthImage; 但它不起作用,我得到这个错误: IplImage *blobimg = image; 最终,我希望能够在newle
Mat *depthImage = new Mat(480, 640, CV_8UC1, Scalar::all(0));
我用它做了一些OpenCV的东西,然后我想使用cvBlob
(所以blob分析)。尽管此函数仍然使用IplImage
而不是Mat
。所以我想改变他们。我读到我可以这样做:
Mat image = *depthImage;
但它不起作用,我得到这个错误:
IplImage *blobimg = image;
最终,我希望能够在newley创建的IplImage
Semantic Issue: No viable conversion from 'cv::Mat' to 'IplImage *' (aka '_IplImage *')
cvLabel(,)
如您所见,需要将Mat
转换为IplImage
。但它不起作用。我的问题是如何解决这个问题
提前感谢正如Martin Beckett在评论中所说,备忘单显示了此解决方案。没有从
cv::Mat
到IplImage*
的转换,但是有从cv::Mat
到IplImage
的转换
换线
cvLabel(<#const IplImage *img#>, <#IplImage *imgOut#>, <#CvBlobs &blobs#>)
到
它应该编译
调用cvLabel
时,传递如下参数
IplImage blobimg = image;
首先,正如你在我的解释中看到的,我做了‘IplImage ipl_img=img’
IplImage blobimg = image;
cvLabel(&blobimg, ...);