为什么像素值保持不变?

时间:2018-09-29 19:08:35

标签: arrays numpy opencv image-processing

所以,我试图用不同的灰色阴影填充图像的不同区域。 这是我的输入图像: 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的值。 那个怎么样?我在这里想念什么?

谢谢,伙计们!

1 个答案:

答案 0 :(得分:1)

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