这是我用来填充图像的代码,所以我想要的只是颜色值为50的外部空间,但是所有的东西都是灰色的。
checkers = invert(cv2.imread('skeleton2.jpg',cv2.IMREAD_GRAYSCALE))
filled_checkers = flood_fill(checkers, (0, 0),50,tolerance=1)
fig, ax = plt.subplots(ncols=2, figsize=(10, 5))
ax[0].imshow(checkers, cmap=plt.cm.gray, vmin=0, vmax=255)
ax[0].set_title('Original')
ax[1].imshow(filled_checkers, cmap=plt.cm.gray, vmin=0, vmax=255)
ax[1].set_title('After flood fill')
plt.show()发布于 2020-08-16 02:11:02
您需要将connectivity=1作为参数传递。见洪水填埋场文件
selem: ndarray,可选 一种结构元素,用于确定每个计算像素的邻域。它必须只包含1和0,具有与图像相同的维数。如果不给出,所有相邻像素都被视为邻域的一部分(完全连接)。 连通性: int,可选 用于确定每个计算像素的邻域的数字。与中心的平方距离小于或等于连通性的相邻像素被认为是邻居。如果selem不是零,就被忽略。
docstring中的示例部分还包含解释连接性的示例。
https://stackoverflow.com/questions/63399485
复制相似问题