获取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]