因此,我尝试使用不同的灰色阴影来填充图像的不同区域。
这是我的输入图像:
1

因此,这是我的代码,用于用灰色阴影填充其中一个区域:

image = cv.imread('img.jpg', 0)

height, width = image.shape[:2]

for i in range(height):
    for j in range(width):
        if image[i][j] == 255:
            cv.floodFill(image, None, (i, j), 90)
            cv.imwrite('test1.jpg', image)
            break
    else:
        continue
    break

之后,我得到:
2

而且,如果我尝试再次加载新图像并遍历像素,则在上一个示例中用于开始填充的相同像素仍然具有255而不是90的值。
那个怎么样?我在这里想念什么?

谢谢你们!

最佳答案

floodFill() 和需要注意一点的其他函数希望它们位于x, y坐标中。您发送的是row, col坐标(即y, x),因此floodfill()所处的区域不同于您实际检测到的白色区域。

关于arrays - 为什么像素值保持不变?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52571629/

10-13 08:31
查看更多