首页 > 解决方案 > 试图将灰度图像中的所有白色区域变为黑色

问题描述

正如标题所说,我正在尝试将灰度照片中的所有白色部分都变为黑色。我尝试在这里使用此代码

img_file = os.path.join(img_dir, os.listdir(img_dir)[1])
img = Image.open(img_file).convert('L')

npImage = np.array(img)

LUT = np.zeros(256, dtype=np.uint8)
LUT[255] = 0

img = Image.fromarray(LUT[npImage])
img.show()

但我的输出是纯黑色图像。

标签: pythonnumpyimage-processingpython-imaging-library

解决方案


LUT 是一个全 0 的数组,0 将显示为黑色。您要做的是创建一个 for 循环来访问 npImage 中的所有值,并在必要时更改为黑色。

LUT = np.zeros(256, dtype=np.uint8)创建一个长度为 256 的 0 数组

LUT[255] = 0将 LUT 中的第 256 个元素设置为 0


推荐阅读