画像ファイルで何をしようとしているかについて誤解があるようです。以下は、質問に基づいて考えられる2つのケースを示しています。
画像データを分析せず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