2012-02-22 130 views
1

垫掩模=垫::零掩蔽在OpenCV中

这段代码应该创建的掩模(img1.rows,img1.cols,CV_8UC1),我认为,通过使用C++。在C中创建一个面具等同于什么?另外,有人可以向我解释这段代码实际上在做什么吗?

回答

1

用C API,我们称之为

IplImage *mask = cvCreateImage(cvGetSize(img1), IPL_DEPTH_8U, 1); 
cvSetZero(mask); 

的C API更容易IMO读取,并且它的作用是与每像素8位,1个通道(灰度)创建一个图像,的与img1大小相同,然后将其所有像素值设置为零。

+0

非常感谢你! – 2012-02-22 04:27:50

+0

Audet先生,我必须从图像中提取人体。我使用cvContours来查看所有的轮廓,并且人类具有最大的轮廓。但是,我不知道如何应用cvContourArea找到该区域并使用最大面积值来提取人体。这是一个动作识别项目,显示有人在走路。你介意看看我的代码并告诉我需要放什么吗?随着截止日期的临近,我真的需要帮助来完成这个任务,但我只会陷入困境。请帮助 – 2012-02-22 04:50:37

+0

有一个示例显示如何在手册的[cvDrawContours()](http://opencv.willowgarage.com/documentation/c/core_drawing_functions.html#drawcontours)条目处循环轮廓。因此,只需复制/粘贴并在每个轮廓上调用'cvContourArea()'而不是'cvDrawContours()'。但我怀疑这是否足以解决您的问题。计算机视觉是非常具有挑战性的领域 – 2012-02-23 08:47:04