我正在使用手势为我的虚拟鼠标项目编写python脚本。
我想将中心之间的线连接到位于我的3个手指上的每个中心,贴上绿色标签。但我有这个错误:
追踪(最近一次呼叫最后一次):
文件“multiple.py”,第70行,in cv2.line(frame,(cx1,cy1),(cx2,cy2),(cx3,cy3),(255,0,0),2)TypeError:需要一个整数
我的代码在这里:
actions
答案 0 :(得分:0)
我将在此假设你在Python3中运行它。
所有这些行:
cx1 = x1+w1/2
cy1 = y1+h1/2
cx2 = x2+w2/2
cy2 = y2+h2/2
cx3 = x3+w3/2
cy3 = y3+h3/2
可能会返回float
个对象:
>>> 7/2
3.5
>>> isinstance(7/2,float)
True
>>> isinstance(7/2,int)
False
>>> isinstance(7,int)
True
您的解决方案是将这些c*
值重新设置为int
。以下是一些选项:
整数部门(感谢John)
>>> 7//2
3
天花板(向上):
>>> import math
>>>
>>> math.ceil
<built-in function ceil>
>>> math.ceil(7/2)
4
楼层(向下):
>>> int(7/2)
>>> 3