Opencv:转换垫IplImage为cvLabel



我有:

Mat *depthImage = new Mat(480, 640, CV_8UC1, Scalar::all(0));

在我的代码中,我做:

Mat image = *depthImage;

我用它做一些OpenCV的东西,然后我想使用cvBlob(所以blob分析)。虽然这个函数仍然使用IplImage而不是Mat。所以我想改变他们。我读到我可以这样做:

 IplImage *blobimg = image;

但是它不工作,我得到这个错误:

Semantic Issue: No viable conversion from 'cv::Mat' to 'IplImage *' (aka '_IplImage *')

最终我希望能够在新建的IplImage上使用此函数

cvLabel(<#const IplImage *img#>, <#IplImage *imgOut#>, <#CvBlobs &blobs#>)

可以看到,从MatIplImage的转换是必需的。但这并没有奏效。我的问题是如何解决这个问题?

Thanks in advance

正如Martin Beckett在评论中所说,备忘单展示了这个解决方案。没有从cv::MatIplImage *的转换,但有从cv::MatIplImage的转换。

更改行

IplImage *blobimg = image;

IplImage blobimg = image;

,它应该编译。

调用cvLabel时,传递像

这样的参数
cvLabel(&blobimg, ...);

相关内容

  • 没有找到相关文章