Pythonのプログラムが上手く動きません。
解決したいこと
PythonでYOLOv5を使い、車載カメラから撮影した夜間の画像を、上下に二分割した後にガンマ補正をかけて認識率の向上を行うプログラムを作成しました。
最初の画像を読み込む部分は正常に起動した(と思われる)のですが、分割した画像や検出した画像が出力されずに困っています。対処法を教えていただけませんか?
発生している問題・エラー
実行結果
[画像ファイル複数]
画像ファイル複数
finish
[]
[]
finish
[]
[]
※分割した画像・検出結果を格納するファイルが出力されません。
該当するソースコード
#coding:shift_jis
import glob
#フォルダの読み込み
file = glob.glob('C:/Users/RE12/Pictures/drive/*.jpg')
print(file)
import cv2
import numpy as np
#画像ファイルを領域別に分割
i=0
for x in file:
print(x)
img = cv2.imread(x)
#上半分の領域指定及び分割
img1 = img[0 : 534, 0: 1273]
cv2.imwrite("C:/Users/RE12/Pictures/trim1e/"+str(i)+".jpg", img1)
#下半分の領域指定及び分割
img2 = img[ 179: 713, 0 : 1273]
cv2.imwrite("C:/Users/RE12/Pictures/trim2e/"+str(i)+".jpg", img2)
i+=1
print("finish")
import glob
#分割したファイルの読み込み
file1 = glob.glob('C:/Users/RE12/Pictures/trim1e/*.jpg')
file2 = glob.glob('C:/Users/RE12/Pictures/trim2e/*.jpg')
print(file1)
print(file2)
import cv2
import scipy.stats as sstats
import numpy as np
#上の領域にガンマ補正を施す
i=0
for x1 in file1:
print(x1)
img = cv2.imread(x1)
mean=img.mean()
print("平均値:",mean)
gray = img
#ガンマ補正値
gamma = 0.5
imax = gray.max()
gray = imax * (gray / imax)**(1/gamma)
cv2.imwrite("C:/Users/RE12/Pictures/edit1e/"+str(i)+".jpg", gray)
i+=1
#下の領域にガンマ補正を施す
i=0
for x2 in file2:
print(x2)
img = cv2.imread(x2)
mean=img.mean()
print("平均値:",mean)
gray = img
#ガンマ補正値
gamma = 0.9
imax = gray.max()
gray = imax * (gray / imax)**(1/gamma)
cv2.imwrite("C:/Users/RE12/Pictures/edit2e/"+str(i)+".jpg", gray)
i+=1
print("finish")
import glob
#ガンマ補正を施した領域別のファイルを読み込む
file1 = glob.glob('C:/Users/RE12/Pictures/edit1e/*.jpg')
file2 = glob.glob('C:/Users/RE12/Pictures/edit2e/*.jpg')
print(file1)
print(file2)
import cv2
i=0
for x1, x2 in zip(file1, file2):
print(x1)
print(x2)
img1 = cv2.imread(x1)
img2 = cv2.imread(x2)
v_list = []
v_list.append(img1)
v_list.append(img2)
#領域別のファイルを結合して一枚の画像ファイルを生成する
image_v = cv2.vconcat(v_list)
#保存先の指定
cv2.imwrite("C:/Users/RE12/Pictures/mixdriveK/"+str(i)+".jpg", image_v)
i+=1
print("finish")
0