【问题标题】:Why cv2.line () can not take float values?为什么 cv2.line() 不能取浮点值?
【发布时间】:2019-12-30 03:13:08
【问题描述】:

我根据它们的颜色选择了两个对象,并在我选择的对象周围创建了一个矩形。现在我必须用一条线将它们连接起来,这就是我使用 cv2.line() 的原因。在此之前我创建 boundingRect()。这个矩形很好。之后我把 cv2.line(img, (cx1, cy1), (cx2, cy2), (255, 0, 0), 3,4) 用于创建他们之间的线。 但问题是每当相机看到我的对象时,它都会给我一个错误“cv2.line(img, (cx1, cy1), (cx2, cy2), (255, 0, 0), 3,4) TypeError:需要整数参数,得到浮点数 [WARN:0] 终止异步回调"

我该如何解决这个问题?

cv2.line(img, (cx1, cy1), (cx2, cy2), (255, 0, 0), 3,4)

TypeError:需要整数参数,得到浮点数 [WARN:0] 终止异步回调

【问题讨论】:

  • Cx1,cy1, cx2,cy2 需要转换为 int 。
  • 回答这个问题,因为它需要像素位置作为输入。

标签: python opencv


【解决方案1】:

cv2.line(img, (int(cx1), int(cy1)), (int(cx2), int(cy2)), (255, 0, 0), 3,4)

坐标,x 和 y 应该是整数。您可以将它们转换为 int,如上一行所示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-10
    • 2019-12-23
    • 2013-04-10
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多