gpt4 book ai didi

python - 如何在Python中将一维图像数组转换为PIL图像

转载 作者:行者123 更新时间:2023-11-30 22:51:38 27 4
gpt4 key购买 nike

我的问题与Kaggle data science competition有关。我正在尝试从包含1位灰度像素信息(0到255)的一维数组中读取28x28图像的图像>。因此数组从 0 到 783,其中每个像素都编码为 x = i * 28 + j。

转换成二维28x28矩阵是这样的:

000 001 002 003 ... 026 027
028 029 030 031 ... 054 055
056 057 058 059 ... 082 083
| | | | ... | |
728 729 730 731 ... 754 755
756 757 758 759 ... 782 783

出于图像处理(调整大小、倾斜)的原因,我想将该数组读入内存中的 PIL 图像。我对Matplotlib image function做了一些研究,我认为这是最有前途的。另一个想法是 Numpy image functions .

我正在寻找,是一个代码示例,它向我展示如何通过 Numpy 或 Matplotlib 或其他任何东西加载该一维数组。或者如何使用 Numpy.vstack 等将该数组转换为二维图像,然后将其作为图像读取。

最佳答案

您可以使用 Image.fromarray 将 NumPy 数组转换为 PIL 图像:

import numpy as np
from PIL import Image

arr = np.random.randint(255, size=(28*28))
img = Image.fromarray(arr.reshape(28,28), 'L')

L模式表示数组值代表亮度。结果将是灰度图像。

关于python - 如何在Python中将一维图像数组转换为PIL图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38952853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com