エラーは出ないのですが、目的が果たせません。
・目的
写真を3×3に並べた状態で一つ一つの写真を0度~80度まで反時計回りに回転させ、全部において顔認証を実行する。そして、どの角度までなら顔として認識されるのか調べたい。
・現在の状況
写真を3×3に並べ、その上にそれぞれの角度をtitleで書くことはできています。
ですが、赤枠が表示されず、9個全ての写真が回らずに0度の状態になっています。
python
1import cv2 2import matplotlib.pyplot as plp 3from scipy import ndimage 4 5cascade_file="OpenCV_haarcascade_frontalface_alt.xml" 6cascade=cv2.CascadeClassifier(cascade_file) 7img=cv2.imread("itzy-yunaa.jpg") 8 9def face(img): 10 img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 11 global face_list 12 face_list=cascade.detectMultiScale(img_gray,minSize=(10,10)) 13 14 for (x,y,w,h) in face_list: 15 red=(0,0,255) 16 cv2.rectangle(img_gray,(x,y),(x+w,y+h),red,thickness=30) 17 18 19for i in range(0,9): 20 angle=i*10 21 imrotate=ndimage.rotate(img,angle) 22 face(imrotate) 23 plp.subplot(3,3,i+1) 24 plp.axis("off") 25 plp.title("Angle="+str(angle)) 26 plp.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) 27plp.show()
回答1件
あなたの回答
tips
プレビュー