用 Numpy 数组中的黑色像素替换白色像素
replace a white pixel with a black pixel in a Numpy array
我已经将图像 myImage
转换为灰度并将其加载到 numpy 数组中。
供参考,myImage.shape
returns (184L, 184L)
在 myImage
全白的情况下。即所有 255
个像素值。如何用黑色像素替换白色像素0
?
可能是 1 或 2 或 10 个黑色像素替换。我只需要黑色像素的数量不为空。
根据您的评论:我想将第一个白色像素 (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.]])
更一般的东西
import numpy as np
image = np.ones((5,5))*255
old_val = 255
new_val = 0
image[image==old_val]=new_val
我已经将图像 myImage
转换为灰度并将其加载到 numpy 数组中。
供参考,myImage.shape
returns (184L, 184L)
在 myImage
全白的情况下。即所有 255
个像素值。如何用黑色像素替换白色像素0
?
可能是 1 或 2 或 10 个黑色像素替换。我只需要黑色像素的数量不为空。
根据您的评论:我想将第一个白色像素 (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.]])
更一般的东西
import numpy as np
image = np.ones((5,5))*255
old_val = 255
new_val = 0
image[image==old_val]=new_val