顔合成をするために、コードを書いていますが、複数枚画像があるため一度に画像処理を行おうと考えています。
エラーを探してみても、OutにFalseとのみ表示されてしまい解決策がわからないでいます。
このコードは、いろいろなサイトを真似て作ったものです。
初心者ですが、ご教示いただけますと幸いです。
よろしくお願いいたします。
python
1コードimport cv2 2import dlib 3import matplotlib.pyplot as plt 4from PIL import Image 5import numpy as np 6import glob 7import os 8 9#インライン表示 10%matplotlib inline 11 12in_dir = "C:/Users/noza/LAB_lab/SNS_photo/*" 13out_dir = "C:/Users/noza/LAB_lab/SNS_photo_sikaku/" 14in_jpg=glob.glob(in_dir) 15in_fileName=os.listdir("C:/Users/noza/LAB_lab/SNS_photo/") 16 17for num in range(len(in_jpg)): 18 image=cv2.imread(str(in_jpg[num])) 19 if image is None: 20 print("Not open:",line) 21 continue 22 23 image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 24 25 26detector = dlib.get_frontal_face_detector() 27faces = detector(image) 28 29for i, rect in enumerate(faces): 30 cv2.rectangle(image, (rect.left(), rect.top()), (rect.right(), rect.bottom()), (255, 255, 0), thickness=2) 31 #得られた顔の位置に矩形を描画 32 33fileName=os.path.join(out_dir,str(in_fileName[num])+".jpg") 34cv2.imwrite(str(fileName),image)
あなたの回答
tips
プレビュー