要么我得到无效的语法或预期的字符串或Unicode,找到浮点数

时间:2017-05-05 19:01:51

标签: python string opencv syntax

首先,我得到了一个预期的str或unicode对象,在尝试将我的速度结果放入cv2.putText函数时找到了float。经过一段时间后,我设法将速度读数转换为字符串。

现在,只要我将速度放在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)是一个将其转换为字符串的类,当使用velocity = str(velocity)velocity = unicode(velocity)时,速度仍为浮点数

提前致谢

1 个答案:

答案 0 :(得分:0)

如果我清理间距(elif的缩进并且一致地使用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

这很棒,因为我不再有语法问题。