2017-02-24 3 views
0

저는 python과 opencv2를 사용하여 웹캠 스트림에서 생생한 얼굴 인식 시스템을 결합했습니다. 지금까지 웹캠 스트림과 얼굴 인식 구성 요소를 모두 설정할 수 있었지만 문제를 해결하는 데 어려움이있었습니다.프레임 단위로 opencv2 캡처 장치를 분석 할 수 없습니다.

지금 문제는 웹캠의 각 프레임을 얼굴 탐지 및 인식 구성 요소로 전달하는 것입니다.

코드의 관련 부분은 다음과 같습니다

그러나
# Capture frame-by-frame 
    ret, frame = video_capture.read() 
    image=cv2.VideoCapture.grab(frame) 
    image_grey=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) 
    faces = faceCascade.detectMultiScale(image_grey,scaleFactor=1.2,minNeighbors=5,minSize=(25,25),flags=0) 

이 저를 준다 : 나는 opencv2의 documentatioon을 통해 찾고있다 그리고 난에 대한 이유를 찾을 수 없습니다

Traceback (most recent call last): 
    File "webcam_cv3(2).py", line 66, in <module> 
    image=cv2.VideoCapture.grab(frame) 
AttributeError: 'builtin_function_or_method' object has no attribute 'grab' 

cv2.VideoCapture.grab이 유효하지 않습니다.

opencv2와 함께 python 2.7을 사용하고 있습니다. 도움이 될만한 의견이 있습니다.

+0

['cv2.VideoCapture'] (http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-videocapture) 클래스입니다. 먼저 멤버 함수를 호출하기 전에이 클래스의 객체를 만들어야합니다. –

답변

0

ret, frame = video_capture.read()은 이미 np.array로 frame을 제공합니다. 그런 다음에 갈 수 있습니다 :

image_grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
faces = faceCascade.detectMultiScale(image_grey,scaleFactor=1.2,minNeighbors=5,minSize=(25,25),flags=0) 
+0

빠른 답장을 보내 주셔서 감사합니다,하지만 그때 우리가 얻을 :'역 추적 (마지막으로 가장 최근에 호출) : 파일 "webcam_cv3 (2) 평", 라인 (66)을, image_grey = cv2.cvtColor에서 (이미지, cv2.COLOR_BGR2GRAY) NameError : 'image'이름이 정의되지 않았습니다. ' – Aperce19

+0

'프레임 '을 의미합니다. 편집을 참조하십시오. –

+0

그 문제를 해결했지만 다음을 제공합니다 :'Traceback (최근 호출 마지막) : 파일 "webcam_cv3 (2) .py", 줄 83, 데이터 파일 [ "Data"] = 데이터 목록 파일 "/ usr /lib/python2.7/shelve.py "줄 133, __setitem__ self.dict [key] = f.getvalue() 파일"/usr/lib/python2.7/shelve.py ", 줄 79, 폐쇄 됨 raise ValueError ('닫힌 선반에서 잘못된 연산') ValueError : 닫힌 선반에서 잘못된 연산이 발생했습니다. – Aperce19