Python 运行OpenCV线条绘制脚本时遇到错误

Python 运行OpenCV线条绘制脚本时遇到错误,python,opencv,Python,Opencv,我正在尝试一些机器人在迷宫中导航的OpenCV代码。我能够检测迷宫墙壁的边缘,现在为了进行测试,我想尝试在检测到的每个边缘之间画一些假想的线。这将是驱动线 找到的每条线都有一个由x1、y1和x2、y2定义的起点和终点 下面的代码段尝试创建中心线的坐标,并将其分配给变量ptx1、pty1、ptx2和pty2。数学可能是错误的,但我得到了一个打字错误,需要一些帮助来修复它 以下是错误: TypeError:应为整数参数,得到浮点值 错误指向最后一行: for line in lines: for x

我正在尝试一些机器人在迷宫中导航的OpenCV代码。我能够检测迷宫墙壁的边缘,现在为了进行测试,我想尝试在检测到的每个边缘之间画一些假想的线。这将是驱动线

找到的每条线都有一个由x1、y1和x2、y2定义的起点和终点

下面的代码段尝试创建中心线的坐标,并将其分配给变量ptx1、pty1、ptx2和pty2。数学可能是错误的,但我得到了一个打字错误,需要一些帮助来修复它

以下是错误:

TypeError:应为整数参数,得到浮点值

错误指向最后一行:

for line in lines:
for x1,y1,x2,y2 in line:
    print(x1)
    print(y1)
    ptx1 = (x1+800)/2
    pty1 = (y1+600)/2
    ptx2 = (x2+800)/2
    pty2 = (y2+600)/2

    cv2.line(lines_edges, (ptx1,pty1),(ptx2,pty2), (0,0,255), 5)
变量ptx1、pty1、ptx2和pty2是浮点数,函数需要整数。使用int函数将其转换为整数:

ptx1 = int((x1 + 800)/2)
或使用以下语法:

ptx1 = (x1 + 800) // 2

非常感谢,一旦我添加了int函数,它工作得很好,那么错误就消失了:-