首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行OpenCV绘图脚本时遇到的错误

运行OpenCV绘图脚本时遇到的错误
EN

Stack Overflow用户
提问于 2019-03-06 21:12:00
回答 1查看 18关注 0票数 0

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

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

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

以下是错误:

TypeError:期望的整数参数,得到浮点数

错误指向最后一行:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-06 21:20:53

变量ptx1, pty1, ptx2 and pty2是浮动的,函数需要整数。使用int()函数以整数形式输入它们:

代码语言:javascript
复制
ptx1 = int((x1 + 800)/2)

或者使用以下语法:

代码语言:javascript
复制
ptx1 = (x1 + 800) // 2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55032216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档