Python图像转换

标签 python image python-imaging-library

我正在尝试将模式 I(32 位有符号整数像素)转换为标准灰度或“RGB”图像。问题是当我尝试转换它时,它只是变成了空白的白色图像。我正在使用 PIL 模块。

这是我正在尝试转换的图像。

enter image description here

from PIL import Image
sample_img = Image.open('sample.png') 
sample_img=sample_img.convert('L')

最佳答案

这对你有用吗?

from PIL import Image
import numpy as np

sample_img = Image.open('sample.png') 
rescaled = 255 * np.asarray(sample_img)/2**16
img = Image.fromarray(np.uint8(rescaled))

这给出:

>>> np.asarray(img)

array([[ 95,  96,  98, ...,  98, 105, 107],
       [ 93,  97,  99, ..., 100, 105, 108],
       [ 94,  99, 100, ..., 102, 105, 110],
       ..., 
       [130, 125, 125, ...,  97,  98, 100],
       [128, 120, 123, ...,  99,  99, 101],
       [125, 119, 120, ..., 101, 100, 101]], dtype=uint8)

这是一个“标准”8 位灰度图像。

关于Python图像转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33833251/

相关文章:

python - 使用 PIL 在终端中显示图像 (png)

python - 仅当参数等于某个值时才单击密码选项

python - 从 bash 调用 python 脚本在命令提示符处停止

python - 匹配以逗号分隔的精确长度的所有单词

android - 分辨率感知图像不起作用 - Flutter

android - 在 bool 值上更改特定的 ListView 图像

python - PIL 透明度似乎不起作用

python - 动态生成一定文件大小的有效图片用于测试

python - 一个列表中的两个组合列表

javascript - HTML 在图像上绘制 map (圆圈)