如何将图像转换为像素值并将它们存储在文本文件中?
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=" ")
我有一个包含 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=" ")