【发布时间】:2019-12-01 21:02:41
【问题描述】:
只是为了好玩,我想我会尝试用像素值构建一个图像,然后用PIL.Image 渲染它。
但它没有呈现我输入的值。
from PIL import Image
import numpy as np
# custom array
arr = np.array(
[[50,200,50],
[50,200,50],
[50,200,50]])
print(arr)
img = Image.fromarray(arr, 'L')
img.show()
[[ 50 200 50] [ 50 200 50] [ 50 200 50]]
输出的图片如下。
鉴于高像素值是白色,低像素值是暗色,我预计图像中间会出现一条白线。
这里出了什么问题?
【问题讨论】:
-
这不是我在执行你的代码时得到的结果——这是我所期望的。
-
您的数组类型为
int64,PIL 不支持。尝试在创建它的位置添加dtype=np.uint8。 -
@MarkSetchell 很高兴接受您的回答,如果您想发布它。
标签: python image numpy python-imaging-library render