在opencv 4.4.0中connectedComponenentsWithStat的奇怪行为

这是我的8位图片:

在opencv 4.4.0中connectedComponenentsWithStat的奇怪行为

我尝试用cv2加载它并拆分为连接的组件:

seg_r=cv2.imread("seg_r.png",0)
seg_num_labels,seg_labels,seg_stats,seg_centroids = cv2.connectedComponentsWithStats(seg_r)
print(seg_stats)

我只有2个巨大的连接组件,即:

[[      0       0    1260    1623   33236]
 [      0       0    1259    1622 2011744]]

(我也尝试在图像周围制作黑色边框,但没有成功)。为什么会这样?

LT198986 回答:在opencv 4.4.0中connectedComponenentsWithStat的奇怪行为

documentation中所述,您应该使用二进制图像:

计算标记为布尔图像

的连接组件

这意味着所有带有value==0的像素都被视为背景,而所有带有value>0的像素都被视为前景。

在图像中,您可能连接了所有前景像素,因此最终只有两个标签。

本文链接:https://www.f2er.com/1229604.html

大家都在问