如何将图像转换为像素值并将它们存储在文本文件中?

How to convert images to pixels values and store them in a text file?

我有一个包含 n 灰度 48*48 图片的文件夹。

我想分开提取每个图像的像素值并将其保存在单独的文本文件中(我将有 n 个文本文件)。

我已经试过了:

from PIL import Image
import numpy as np

im = Image.open('a.png')

pixels = list(im.getdata())
width, height = im.size 
pixels = [pixels[i * width:(i + 1) * width] for i in xrange(height)]
np.savetxt("pixel_data.txt", pixels, delimiter=" ") 

但我得到的值是这样的:1.460000000000000000e+02 1.500000000000000000e+02 1.520000000000000000e+02.

我想在每个像素值介于 0-255 之间的文本文件中有 48 列 x 48 行。

示例图片:

如何使用 python 执行此操作?

这些数字是正确的。您正在使用 np.savetxt 方法,该方法默认将数字转换为科学记数法。要将它们保存为整数,我相信你会这样做:

np.savetxt("pixel_data.txt", pixels, fmt='%d', delimiter=" ")