python - 试图将灰度图像中的所有白色区域变为黑色
问题描述
正如标题所说,我正在尝试将灰度照片中的所有白色部分都变为黑色。我尝试在这里使用此代码
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()
但我的输出是纯黑色图像。
解决方案
LUT 是一个全 0 的数组,0 将显示为黑色。您要做的是创建一个 for 循环来访问 npImage 中的所有值,并在必要时更改为黑色。
LUT = np.zeros(256, dtype=np.uint8)
创建一个长度为 256 的 0 数组
LUT[255] = 0
将 LUT 中的第 256 个元素设置为 0
推荐阅读
- python - 无法使用 split() 方法从 python 中的字符串中提取数字
- r - 使用 DM.Test 比较时间序列的预测准确性时的警告消息
- android - MotionLayout - 日志中令人讨厌的调试错误:“没有小部件
( )" - html - CSS幻灯片背景必须加载
- javascript - 如何使用谷歌应用脚本将数据从电子表格加载到 html?
- perl - 使用 perl 将日志附加到文件
- kubernetes - 重启集群中的所有 k8s pod?
- sql - SQL cPK FK表关系设计麻烦
- python - AttributeError:类型对象“数据库”没有属性“初始化”
- java - 使用 pmap 和 gdb 查找本机内存泄漏