0

我有:

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 *')

最终我希望能够在创建的 newley 上使用此功能IplImage

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

如您所见,需要从Matto转换IplImage。但它不起作用。我的问题是我该如何解决这个问题?

提前致谢

4

1 回答 1

2

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

换行

IplImage *blobimg = image;

IplImage blobimg = image;

它应该编译。

调用时cvLabel,传递参数,如

cvLabel(&blobimg, ...);
于 2011-11-30T20:00:09.363 回答