Pythonマスク画像の保存ができない

実現したいこと

マスク画像を自動で作成するプログラムを作成したのですが名前を変更して写真に示すような生成した複数のマスク画像を保存したいです

発生している問題・分からないこと

画像はimg_1.3.jpg,1.8,2.6,3.6・・・img_4.5.jpgといった名前で保存されています。別のフォルダにマスク画像の名前をmask_img_1.3.jpg,1.8,2.6,3.6・・・mask_img_4.5.jpgといった名前で保存したいのですが複数の画像を保存する方法がよくわかりません
また保存した際に白い画像になってしまいます

例:img_1.3jpg→mask_img_1.3jpgに名前を変更して保存

該当のソースコード

Python

1import matplotlib.pyplot as plt 2import numpy as np 3import pathlib 4import glob 5import os 6import cv2 7 8file_name=[]9input_dir = "/img_folder"#使用する画像が保存されているフォルダ名10mask_dir="/mask_folder"#マスク画像を保存するフォルダ11img_list = list(pathlib.Path(input_dir).glob('**/*.jpg'))#フォルダ内の画像を取得12 13 14for f in glob.glob('img_folder/*.jpg'):15 file_name.append(os.path.split(f)[1])#ファイル名のみ取得16 17for i in range(len(img_list)):18 img_file_name = str(img_list[i])19 img = cv2.imread(img_file_name)20 h, w = img.shape[:2]21 22 mask = np.zeros((h, w), dtype=np.uint8)#マスク画像生成23 cv2.circle(mask,center=(x[i],y[i]), radius=100, color=255, thickness=-1)24 mask_blur = cv2.GaussianBlur(mask, (591, 301), 0)25 26 plt.imshow(mask_blur,cmap='gray')#マスク画像の表示、白と黒のみに色を変える27 plt.axis('off')28 plt.show()29 plt.savefig()#保存30 31

試したこと・調べたこと

上記の詳細・結果

plt.savefig(maskdir_'mask_{}'.format(file_name[i]))の場合だと白い画像だけ保存された

補足

マスク画像
イメージ説明

google colaboratoryで制作
マスク画像の円の中心座標x,yはint型の数字が格納されています。

コメントを投稿

0 コメント