2017-05-23 15 views
1

다음은 비디오 (.mp4)에서 얼굴을 감지하는 데 사용되는 코드입니다. 얼굴을 감지하여 이미지로 저장해야합니다.비디오에서 얼굴을 감지하여 이미지로 저장할 수 없습니다.

import cv2 
import sys 

cascPath = 'haarcascade_frontalface_default.xml' 
faceCascade = cv2.CascadeClassifier(cascPath) 

video_capture = cv2.VideoCapture('sample.mp4') 

while(video_capture.isOpened()): 

# Capture frame-by-frame 
ret, frame = video_capture.read() 

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 

faces = faceCascade.detectMultiScale(
    gray, 
    scaleFactor=1.1, 
    minNeighbors=5, 
    minSize=(30, 30), 
    flags=cv2.cv.CV_HAAR_SCALE_IMAGE 
) 

# Draw a rectangle around the faces 
for (x, y, w, h) in faces: 
    cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) 

cv2.imshow('Video', frame) 

if cv2.waitKey(1) & 0xFF == ord('q'): 
    break 

video_capture.release() 
그것은 내가 상대 경로 여전히 실패를 제공하여 시도 문 video_capture.isOpened()

에 실패

?

+0

보통 파이썬에서':'뒤에 들여 쓰기가 있습니다. 그게 여기서 필요한거야? – lit

답변

0

전 C로 opencv_ffmpeg300.dll 복사 후 : 문제 FYI

해결 폴더 //python2.7 :

다음 상기 코드는 별도의 이미지로 검출 된 얼굴을 저장

crop_img = frame[y:y+h,x:x+w] 
cv2.imwrite('E://vijay//frames//frame%d.jpg' %count, crop_img) 
count += 1