замените белый пиксель черным пикселем в массиве Numpy - PullRequest
0 голосов
/ 23 октября 2018

Я преобразовал изображение, myImage, в оттенки серого и загрузил его в массив NumPy.

Для справки myImage.shape возвращает (184L, 184L)

В случаях, когда myImage полностью белый.То есть все 255 значения пикселей.Как заменить белый пиксель черным пикселем 0?

Это может быть замена на 1, 2 или 10 черных пикселей.Мне просто нужно, чтобы количество черных пикселей не было нулевым.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Что-то более общее

import numpy as np
image = np.ones((5,5))*255
old_val = 255
new_val = 0
image[image==old_val]=new_val
0 голосов
/ 23 октября 2018

Согласно вашему комментарию: Я хотел бы взять первый белый пиксель (255) и изменить его на черный пиксель (0) . Вы можете использовать:

myImage[0,0] = 0

Минимальный пример:

myImage = np.ones((5,5))*255
>>> myImage
array([[255., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.]])

myImage[0,0] = 0

>>> myImage
array([[  0., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.],
       [255., 255., 255., 255., 255.]])
...