运行OpenCV线条图脚本时遇到错误

时间:2019-03-06 21:12:01

标签: python opencv

我正在尝试一些OpenCV代码供机器人导航迷宫。我能够检测迷宫壁的边缘,现在要进行测试,我想尝试在已检测到的每个边缘之间绘制一些假想线。这将成为驱动线。

找到的每行都有一个由x1,y1和x2,y2定义的起点和终点

下面的代码段尝试为中心线创建坐标并将其分配给变量ptx1pty1ptx2pty2。数学可能是错误的,但是我得到了TypeError,需要一些帮助来解决它。

这是错误:

  

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)

1 个答案:

答案 0 :(得分:1)

您的变量int()是浮点数,该函数需要整数。使用ptx1 = int((x1 + 800)/2) 函数将它们转换为整数:

ptx1 = (x1 + 800) // 2

或使用以下语法:

-b