2017-05-05 6 views
0

最初に、strまたはunicodeオブジェクトが予想されていました。速度結果をcv2.putText関数に入れるときにfloatが見つかりました。 kerfuffleのビットの後、私は文字列に私の速度の読みを変換することができました。無効な構文または期待される文字列またはUnicode、浮動小数点が見つかりました

速度をcv2.putTextに入力すると、コードの次の行はsyntaxError: invalid Syntaxになります。次のコード行を削除した場合などです。 cv2.putText関数が削除されるとすぐに、それは再び動作します。

if Ydistance >5: 
    velocity = (Ydistance/time) 
    velocity = string(velocity) 
    #print(type(velocity)) 
    cv2.putText(frame, "".format(velocity), (10,500), font, 4, 
     (255,255,255), cv2.LINE_AA) 

    elif Ydistance ==0.0: 
     continue 

string(velocity)私は間隔(elifのインデントをクリーンアップする場合は、文字列に変換したクラスは、velocity = str(velocity)またはvelocity = unicode(velocity)を使用した場合、速度がフロートに事前

+1

'cv2.putText ...'行は、 'if/elif/else'ブロックから抜け出しています。 'if'の下に移動します。 – tdelaney

+0

申し訳ありませんが、質問に投稿する前に私が不注意で重複していないことを確認しました。コード内に正しく配置されています –

+0

まだ問題はありますか?スタックトレースを投稿できますか?更新された質問では、 'elif'の前に空白があり、' continue'の後にシンタックスエラーを引き起こすコロンがあります。 – tdelaney

答えて

0

おかげで推移しています一貫して4つのスペースを使用しています - あなたは5)を持っているように見え、コードをループに入れても、構文エラーはありません。コードはもちろん実行されませんが、構文は問題ありません。今私は誰もがテストできる文法的に正しいプログラムのデモンストレーションを行っています。それを実行

while True: 
    if Ydistance >5: 
     velocity = (Ydistance/time) 
     velocity = string(velocity) 
     #print(type(velocity)) 
     cv2.putText(frame, "".format(velocity), (10,500), font, 4, 
      (255,255,255), cv2.LINE_AA) 

    elif Ydistance ==0.0: 
     continue 

私はもはや構文の問題を持っているので、素晴らしいではありません

Traceback (most recent call last): 
    File "o.py", line 2, in <module> 
    if Ydistance >5: 
NameError: name 'Ydistance' is not defined 

を取得します。

+0

私の場合は同じエラーが発生しますが、Ydistanceはそのコードについて正しく定義されています: 'Ydistance =((dY/px_mm))' –

関連する問題