Почему значение пикселя остается неизменным? - PullRequest
0 голосов
/ 29 сентября 2018

Итак, я пытаюсь залить разные области изображения разными оттенками серого.Это мое входное изображение: 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 голосов
/ 30 сентября 2018

floodFill() и другие функции, которые принимают точку , ожидают, что они будут в x, y координатах.Вместо этого вы отправляете row, col координаты (т. Е. y, x), поэтому вы floodfill() находитесь в области, отличной от того, что вы на самом деле обнаруживаете, - белой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...