opencv 4.4.0 中 connectedComponenentsWithStat 的奇怪行为
Strange behaviour of connectedComponenentsWithStat in opencv 4.4.0
这是我的 8 位图像:
我尝试用 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]]
(我也试过在图片周围加黑边,但没有成功)。这是为什么?
如 documentation 中所述,您应该使用二值图像:
computes the connected components labeled image of boolean image
这意味着所有 value==0
的像素都被视为背景,而所有 value>0
的像素都被视为前景。
在您的图像中,您可能连接了所有前景像素,因此您最终只有两个标签。
这是我的 8 位图像:
我尝试用 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]]
(我也试过在图片周围加黑边,但没有成功)。这是为什么?
如 documentation 中所述,您应该使用二值图像:
computes the connected components labeled image of boolean image
这意味着所有 value==0
的像素都被视为背景,而所有 value>0
的像素都被视为前景。
在您的图像中,您可能连接了所有前景像素,因此您最终只有两个标签。