2016-05-23 9 views
0

私はpythonとOpen Cvを使って顔認識を実装しようとしています。私は正常に顔検出を実装していくつかのチュートリアルを利用することで、Pythonを使用して正常に動作しています。ラズベリーパイ、パイカメラ、パイソン、オープンCvを使った顔認識

今私がやろうとしているのは、顔認識を行うことです。私はチュートリアルをほとんど行っていませんが、誰も私のために働いていません。

私はこのチュートリアルに従いましたが、十分にはっきりしていましたが、コードが構文エラーを投げています。

https://oscarliang.com/raspberry-pi-face-recognition-opencv/

私はこのコード

import cv 
cv.NamedWindow(“w1”, cv.CV_WINDOW_AUTOSIZE) 
camera_index = 0 
capture = cv.CaptureFromCAM(camera_index) 
def repeat(): 
global capture #declare as globals since we are assigning to them now 
global camera_index 
frame = cv.QueryFrame(capture) 
cv.ShowImage(“w1″, frame) 
c = cv.WaitKey(10) 

if(c==”n”): #in “n” key is pressed while the popup window is in focus 
      camera_index += 1 #try the next camera index 
      capture = cv.CaptureFromCAM(camera_index) 

      if not capture: #if the next camera index didn’t work, reset to 0. 
      camera_index = 0 
      capture = cv.CaptureFromCAM(camera_index) 

      while True: 
      repeat() 

を実行しようとしたが、私は、行番号6

あなたのプログラムに誤りがありますで、次のエラーを取得しています:意図ブロック期待します。

私はそれを解決するために全力を尽くしたが、何も働かなかった。

私はラズベリーパイとパイソンの初心者ですから、どんな助けにも感謝します。

ありがとうございます。

+0

この質問はかなり広い範囲を持ち、スタックオーバーフローにはあまり適していない可能性があります。実装したコードで何がうまくいかなかったかについて、具体的な質問がありますか?コードを投稿できますか? –

+0

@PaulRooney回答に感謝.iは質問に編集しました。確認してください。 –

+1

構文エラーを投稿できますか?この記事のコードのいくつかはPythonではないことを覚えておいてください。 –

答えて

1

次のように再フォーマットして、フレームを取得しているかどうかを確認できます。

import cv2.cv as cv 

cv.NamedWindow('w1', cv.CV_WINDOW_AUTOSIZE) 
camera_index = 0 
capture = cv.CaptureFromCAM(camera_index) 

def repeat(): 
    global capture #declare as globals since we are assigning to them now 
    global camera_index 
    frame = cv.QueryFrame(capture) 
    if frame: 
     cv.ShowImage('w1', frame) 
     c = cv.WaitKey(10) 
     if(c=='n'): #in “n” key is pressed while the popup window is in focus 
      camera_index += 1 #try the next camera index 
      capture = cv.CaptureFromCAM(camera_index) 
      if not capture: #if the next camera index didn’t work, reset to 0. 
       camera_index = 0 
       capture = cv.CaptureFromCAM(camera_index) 

while True: 
    repeat()