您对图像文件的处理方式似乎存在误解。以下根据您的问题显示了两种可能的情况。
在不分析图像数据的情况下将文件读JPG
入TXT
文件,即不解压缩等。使用这个(这有什么用,我们不确定!,顺便说一句)。
import os
from scipy.misc import imread
import numpy as np
imagePath = 'c:/your jpgs/'
savepath = imagePath
#save as text no decompressing
for filename in os.listdir(imagePath):
if filename!='.DS_Store' and filename[-3:]=='jpg':
with open(filename,'rb') as fin:
b = fin.read()
fin.close()
out = ','.join(b)+'\n'
with open(savepath+'trainMatrix1.txt','a') as fut:
fut.write(out)
fut.close()
输出为:
ÿ,Ø,ÿ,à, ,,J,F,I,F, ,,,, ,d, ,d, , ,ÿ,á,
将文件读JPG
入TXT
文件并分析图像数据,即解压缩等。使用它imread
来解压缩图像数据。您需要记住JPG
的是一种高度压缩的图像格式,因此解压缩后将是巨大的文本文件。您正在追加所有内容,因此输出将是巨大的!
#save as text decompressed image into bytes
for filename in os.listdir(imagePath):
if filename!='.DS_Store' and filename[-3:]=='jpg':
b = imread(filename,flatten=0).flatten()
print b.shape
out = ','.join('%d'%i for i in b)+'\n'
print len(out)
with open(savepath+'trainMatrix2.txt','a') as fut:
fut.write(out)
fut.close()
输出为(颜色数据):
255,255,255,245,245,245,125,125,125,72,72,72,17,17,17,2,2,2,15