import cv2
from matplotlib import pyplot as plt
import os
print(os.getcwd()) #현재 파일 위치
#둘중에 되는거 사용
#face_cascade = cv2.CascadeClassifier('../haarcascades/haarcascade_frontalface_default.xml')
#eye_casecade = cv2.CascadeClassifier('../haarcascades/haarcascade_eye.xml')
face_casecade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_casecade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
imgfile='D:/my/video frame/crop_v2/frame_v_1_117_11.jpg'
img = cv2.imread(imgfile)
gray = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)
faces = face_casecade.detectMultiScale(gray, 1.3,5)
#얼굴영역 검출 안될 때
if len(faces) == 0:
print('faces 0')
print(plt.imshow(img))
#얼굴영역 검출 될 때 이미지에 얼굴영역 표시하기
elif len(faces) == 1:
for (x,y,w,h) in faces:
print(x,y,w,h)
cv2.rectangle(img, (x,y), (x+w, y+h), (255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
eyes = eye_casecade.detectMultiScale(roi_gray)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(roi_color, (ex,ey), (ex+ew, ey+eh),(0,255,0),2)
print(plt.imshow(img))
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
[error] string index out of range (0) | 2021.03.30 |
---|---|
[python] 얼굴검출되는 이미지와 검출되지 않는 이미지 분류해서 폴더별로 저장시키기 (0) | 2021.01.12 |
python face_recognition 로 얼굴영역만 자르기 (0) | 2021.01.12 |
[python] error: (-215) !empty() in function detectMultiScale (0) | 2020.12.04 |
opencv 동영상 3초단위로 프레임 자르기 (0) | 2020.12.04 |