現在,以下のように画像にマスキングを施しているのですが,これをフォルダ内の画像全てに適応して,加工前の名前(このコード上では「2019」など)で保存したいです.一応,globを使ったコードを書いてみたのですが,書いた所から先が,どのようにすれば良いか分かりません.ご指摘よろしくお願いします.
一つ目のコードは動作確認済です.二つ目のコードをRUNしても,エラーも出ず,保存先に画像も保存されておりません.
python
1# -*- coding: utf-8 -*- 2 3import cv2 4import numpy as np 5 6def main(): 7 8 img = cv2.imread("C:/data/2019.jpeg") 9 10 mask = cv2.imread("C:/data/1.jpg", 0) 11 12 img2 = cv2.bitwise_and(img, img, mask=mask) 13 14 cv2.imwrite(C:/data/masked/2019.jpg", img2) 15 16 17if __name__ == '__main__': 18 main()
以下に,加筆したものを記します.
python
1# -*- coding: utf-8 -*- 2 3import cv2 4import numpy as np 5import glob 6 7 8files = glob.glob("C:/data/folder/*.jpg") 9for file in files: 10 11 12 def main(): 13 14 img = cv2.imread(file) 15 16 mask = cv2.imread("C:/data/1.jpg", 0) 17 18 img2 = cv2.bitwise_and(img, img, mask=mask) 19 20 cv2.imwrite("C:/masked/*.jpg", img2) 21 22 23 if __name__ == '__main__': 24 main()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/28 09:08