相关疑难解决方法(0)

将2D Numpy灰度值数组转换为PIL图像

假设我在0到1的范围内有一个2D Numpy值数组,它代表一个灰度图像.然后我如何将其转换为PIL图像对象?迄今为止的所有尝试都产生了极其奇怪的散乱像素或黑色图像.

for x in range(image.shape[0]):
    for y in range(image.shape[1]):
        image[y][x] = numpy.uint8(255 * (image[x][y] - min) / (max - min))

#Create a PIL image.
img = Image.fromarray(image, 'L')
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,numpy数组图像通过(image [x] [y] - min)/(max - min)进行归一化,因此每个值都在0到1的范围内.然后它乘以255并转换为8位整数.理论上,这应该通过具有模式L的Image.fromarray处理成灰度图像 - 但结果是一组分散的白色像素.

python numpy python-imaging-library

12
推荐指数
2
解决办法
3万
查看次数

标签 统计

numpy ×1

python ×1

python-imaging-library ×1