【问题标题】:Draw A Curved Line On An Image在图像上绘制曲线
【发布时间】:2021-04-12 16:02:47
【问题描述】:

我有一个带有一些点的图像,我需要在图像上画出最适合的线。这些点将构成一条多项式线。

这是我目前得到的:

#The coordinates are filled in earlier (self.lx, self.ly)
z = np.polyfit(self.lx, self.ly, 2)
lspace = np.linspace(0, 100, 100)
draw_x = lspace
draw_y = np.polyval(z, draw_x)   #I am unsure of how to draw it on to the image

【问题讨论】:

    标签: python image opencv draw


    【解决方案1】:

    要在图像上绘制折线,您可以使用 opencv 的折线:

    绘制多边形

    要绘制多边形,首先需要顶点坐标。将这些点放入一个形状为 ROWSx1x2 的数组中,其中 ROWS 是顶点数,它应该是 int32 类型。这里我们用黄色绘制一个带有四个顶点的小多边形。

    pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)

    pts = pts.reshape((-1,1,2))

    cv.polylines(img,[pts],True,(0,255,255))

    注意 如果第三个参数为 False,您将得到一条连接所有点的折线,而不是闭合形状。 cv.polylines() 可用于绘制多条线。只需创建您要绘制的所有线条的列表并将其传递给函数。所有线条都将单独绘制。与为每条线调用 cv.line() 相比,绘制一组线是一种更好更快的方法。

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2019-11-20
      • 1970-01-01
      • 2014-01-30
      • 2018-02-08
      • 1970-01-01
      相关资源
      最近更新 更多