前提・実現したいこと
特定のフォルダ内のjpgファイルを順番に読み込み、ヒストグラム結果をcsvとpngで特定のフォルダにファイル名を指定して保存することを試みています。
読み込みフォルダ
1.jpg
2.jpg ・・・
出力フォルダ(output)
1.png
1.csv
2.png
2.csv ・・・
といったように読み込みと保存をしたいです。
下記のコードの不適切な部分を教えていただけないでしょうか。
発生している問題・エラーメッセージ
エラーは発生していませんが、結果が上手くいきません。
該当のソースコード
python3
1import cv2 2import numpy as np 3from matplotlib import pyplot as plt 4import glob 5 6files = glob.glob('*.jpg') 7 8for f in files: 9 img = cv2.imread(f) 10 color = ('b','g','r') 11 hists = [] 12 for i, col in enumerate(color): 13 hist = cv2.calcHist([img], [i], None, [256], [0, 256]) 14 hists.append(hist.squeeze(axis=-1)) 15 plt.plot(hist, color=col) 16 plt.xlim([0, 256]) 17plt.savefig('output/f.png') 18#plt.show() 19 20 21np.savetxt("output/f.csv",hists,delimiter=",") 22#print(hists)
試したこと
検索するとglob.glob()を使用することでフォルダ内の全ファイルを読み込むことが出来ることが分かり、上記のとおり記載しております。
ただ、実行するとoutputフォルダに、一番最初の画像データに対するf.csvというファイルが一つと、全画像データに対する結果が一枚の画像にまとまったf.pngが一つできて終了してしまいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/17 08:05
2020/08/18 02:12