Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算可能有孔的形状_Python_Opencv - Fatal编程技术网

Python 计算可能有孔的形状

Python 计算可能有孔的形状,python,opencv,Python,Opencv,我试图计算图像中的形状数。 我已经遵循了这一点,我正在使用getContours contours, h = cv2.findContours(255 * oBW.copy().astype('uint8'), cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE) 当我的原始图像为: oBW是反转图像: 我想找到两个形状(两个正方形): 但是我得到了4… 第一: 第二: 第三: 第四: 如

我试图计算图像中的形状数。
我已经遵循了这一点,我正在使用getContours

contours, h = cv2.findContours(255 * oBW.copy().astype('uint8'), 
                                  cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)
当我的原始图像为:

oBW是反转图像:

我想找到两个形状(两个正方形):

但是我得到了4…
第一:

第二:

第三:

第四:

如何仅获得两个黑色形状?

谢谢。

您必须从轮廓创建形状,这是可能的,因为您可以访问每个轮廓的层次结构级别。使用matlab的
bwlabel