2017-02-24 7 views
0

私は、pythonとopencv2を使ってウェブカメラストリーム上でライブ顔認識システムを組み合わせています。これまでのところ、私はWebカムストリームと顔認識コンポーネントの両方をセットアップすることができましたが、それらをまとめるのは難しかったです。フレームごとに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 documentatioonを見てきたと私はのために何らかの理由を見つけるように見えることはできませんcv2.VideoCapture.grabが有効ではありません。

私はopencv2でpython 2.7を使用しています。 本当にありがとうございます!

+0

:あなたは、その後に行くことができます。メンバー関数を呼び出す前に、まずこのクラスのオブジェクトを構築する必要があります。 –

答えて

0

ret, frame = video_capture.read()は、すでにframeをnp.arrayとして提供しています。 [ `cv2.VideoCapture`](http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture-videocapture)がクラスである

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)の.py" image_grey = cv2.cvtColor(画像、cv2.COLOR_BGR2GRAY)で、ライン66、 NameError:name 'image'が定義されていません。 – Aperce19

+0

私は 'frame'を意味しました。編集を参照してください。 –

+0

それは問題を解決しますが、 'Traceback(直近の最後の呼び出し): ファイル" webcam_cv3(2).py "、83行目、 データファイル[" Data "] = Data_list ファイル"/usr /lib/python2.7/shelve.py "、行133、__setitem__ self.dict [key] = f.getvalue() ファイル" /usr/lib/python2.7/shelve.py "、行79、閉じる raise ValueError( '閉じたシェルフで無効な操作') ValueError:閉じたシェルフで無効な操作です。 – Aperce19

関連する問題