我有一个包含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
。
我想在每个文本文件中有48列x 48行,像素值在0到255之间。
示例图片:
如何使用python执行此操作?
答案 0 :(得分:3)
这些数字是正确的。您正在使用np.savetxt
方法,默认情况下将数字转换为科学记数法。为了将它们保存为整数,我相信你会这样做:
np.savetxt("pixel_data.txt", pixels, fmt='%d', delimiter=" ")