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 opencv图像中每个白色对象的大小_Python_Opencv_Size_Mask - Fatal编程技术网

获取python opencv图像中每个白色对象的大小

获取python opencv图像中每个白色对象的大小,python,opencv,size,mask,Python,Opencv,Size,Mask,我试图得到这张图片中每个单独物体的大小,这样我就可以按大小将它们分开。我的目标是能够循环通过它们,并按大小将它们分开。我到处都找过了,真的什么也找不到。我尝试过连接组件分析,但不确定如何从中检索大小值 _, lab = cv2.connectedComponents(img) 使用 num_labels将给出标签总数。您可以使用stats矩阵通过迭代每个标签来检索每个blob的大小。使用 num_labels将给出标签总数。您可以使用statsmatrix通过迭代每个标签来检索每个blob的大

我试图得到这张图片中每个单独物体的大小,这样我就可以按大小将它们分开。我的目标是能够循环通过它们,并按大小将它们分开。我到处都找过了,真的什么也找不到。我尝试过连接组件分析,但不确定如何从中检索大小值

_, lab = cv2.connectedComponents(img)
使用

num_labels
将给出标签总数。您可以使用
stats
矩阵通过迭代每个标签来检索每个blob的大小。

使用


num_labels
将给出标签总数。您可以使用
stats
matrix通过迭代每个标签来检索每个blob的大小。

比您更完美,您知道4或8的连接有什么区别吗?@mdumple 4路连接的像素与每个接触其边缘的像素相邻。8路连接的像素与每个接触其边或角的像素相邻。这将有助于:比你完美,你知道4或8的连接有什么区别吗?@mdumple 4路连接的像素与每个接触其边缘的像素相邻。8路连接的像素与每个接触其边或角的像素相邻。这将有助于:
# Choose 4 or 8 for connectivity type
connectivity = 4  
output = cv2.connectedComponentsWithStats(img, connectivity, cv2.CV_32S)

num_labels = output[0]
stats = output[2]

for label in range(1,num_labels):
    blob_area = stats[label, cv2.CC_STAT_AREA]
    blob_width = stats[label, cv2.CC_STAT_WIDTH]
    blob_height = stats[label, cv2.CC_STAT_HEIGHT]