【问题标题】:Opencv : Conversion Mat to IplImage for cvLabelOpencv:将 Mat 转换为 cvLabel 的 IplImage
【发布时间】:2016-04-13 08:14:23
【问题描述】:

我有:

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#>)

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

提前致谢

【问题讨论】:

标签: c++ opencv blob iplimage


【解决方案1】:

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

换行

IplImage *blobimg = image;

IplImage blobimg = image;

它应该可以编译。

调用cvLabel时,传递参数like

cvLabel(&blobimg, ...);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多