我正在使用python和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)
但是,这给了我:
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'
我一直在查看opencv2文档,我似乎找不到cv2.VideoCapture.grab
无效的任何理由。
我正在使用带有opencv2的python 2.7。 真的很感激任何帮助!
答案 0 :(得分:0)
ret, frame = video_capture.read()
已经将frame
作为np.array提供给您。然后你可以继续:
image_grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(image_grey,scaleFactor=1.2,minNeighbors=5,minSize=(25,25),flags=0)