首先,我得到了一个预期的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)
时,速度仍为浮点数
提前致谢
答案 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
这很棒,因为我不再有语法问题。