2017-05-23 7 views
1

ビデオから顔を検出するためのコードです(.mp4)。 顔を検出して画像として保存する必要があります。ビデオから顔を検出できず、画像として保存できません。

それは声明で video_capture.isOpened()

を失敗している

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() 

私はまだそれが失敗している相対パスを与えることで試してみましたか?

+0

通常、Pythonでは ':'の後ろにインデントがあります。それはここに必要ですか? – 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 
関連する問題