有没有一种方法可以找到/检测两个像素的中间或opencv创建的两条线?

问题描述 投票:1回答:1

我正在尝试创建一个车道检测系统,我需要找到opencv绘制的两条线的中间,如下所示:Two Lines created by fillPoly() function

我需要找到这两条线的中间(或从这两条线中的两个像素之一)以在它们的中间创建一个点或另一条线,以便能够检测到换车道。谢谢。

python opencv matplotlib image-processing image-recognition
1个回答
0
投票

[考虑到您有两条平行线(x1,y1)和(x2,y2),中间线是这两个值的简单均值,就像Zabir在评论中对您说的。

但是请注意画线的方法,如以下文档所示:

# Create a black image
img = np.zeros((512,512,3), np.uint8)
# Draw a diagonal blue line with thickness of 5 px
cv.line(img,(0,0),(511,511),(255,0,0),5)

这里线是从点(0,0)到(511,511)的点,它以元组格式传递,因此得到了错误消息

SystemError:新样式的getargs格式,但参数不是元组

因此,为了解决这个问题,您只需要以正确的方式提供,例如:

cv.line(img,(x1_middle, y1_middle),(x2_middle,y2_middle),(255,0,0),5)

Take a look here for drawing functions

© www.soinside.com 2019 - 2024. All rights reserved.