前提・実現したいこと
ファイル内の画像の輝度の標準偏差を出し、一定の値以下かそうでないかで二つのグループに分け、
二つのファイルに分けて保存したい。
発生している問題
画像の読み込みができていて、標準偏差は出ているが、肝心の保存ができていない。
###質問
画像の保存(グループ分け)がうまくいっていないので、どうすれば改善できそうかご教授よろしくお願いいたします。
pythonもそこまで詳しくないので、こここうしたほうがより効率的で良いんじゃないか等もあればぜひ教えてください。
説明がへたくそなので、もしわからないことがあれば、質問ください。
<<追記>>
titleが"C:\Users\potatp\Desktop\brightness\data\title_1.png" となっているのが要因見たいです。
title は "title_1" にして print_stat 関数に渡したいのですが、どうすれば改善できるでしょうか。
該当のソースコード
python3.7
1import numpy as np 2import glob 3import scipy.stats as sstats 4import cv2 5import os 6 7def print_stat(fname,title): 8 9 img_name = fname 10 img = cv2.imread(fname,1) 11 # Grayscale 12 img2 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) 13 # 一次元配列化 14 img2 = np.array(img).flatten() 15 16 print("---", img_name) 17 std = np.std(img2) # 標準偏差 18 print("標準偏差 : ", std) 19 20 if std <= 25: 21 cv2.imwrite(f"C:\Users\potato\Desktop\brightness\low\low_{title}.png",img) 22 else: 23 cv2.imwrite(f"C:\Users\potato\Desktop\brightness\high\high_{title}.png",img) 24 25files = glob.glob('C:\Users\potato\Desktop\brightness\data\*.png') 26for file in files: 27 title, ext = os.path.splitext(file) 28 print_stat(file,title)
回答2件
あなたの回答
tips
プレビュー