gpt4 book ai didi

c++ - cvBlob/Opencv : Why is my output variable empty?

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:04 24 4
gpt4 key购买 nike

做的时候:

IplImage blobimg = image;

IplImage *labelImg=cvCreateImage(cvGetSize(&blobimg), IPL_DEPTH_LABEL, 1);
IplImage *test=cvCreateImage(cvGetSize(&blobimg), IPL_DEPTH_8U, 3);
unsigned int result=cvLabel(&blobimg, labelImg, blobs);

cvRenderBlobs(labelImg, blobs, &blobimg,test,CV_BLOB_RENDER_BOUNDING_BOX);
Mat imgMat(test);

imshow("Depth", imgMat);

我注意到我的测试变量是空的: enter image description here

我想我必须改为这样做:

cvRenderBlobs(labelImg, blobs, &blobimg,&blobimg,CV_BLOB_RENDER_BOUNDING_BOX);

但是 cvRenderBlobs destImg 必须有 3 个 channel 和 IPL_DEPTH_8U 而我的图像只有 1 个 channel ,因为它是灰色图像。

谁能告诉我这是为什么以及我该如何解决这个问题?

编辑

图片来源:

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

最佳答案

我会在这里猜测,但我见过的 IplImages 实例实际上不是指针的次数不多。您确定 image(无论它来自何处)不是指向 IplImage 结构的指针吗?

    IplImage *blobimg = image;

关于c++ - cvBlob/Opencv : Why is my output variable empty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8339168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com