gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 16:33:46 24 4
gpt4 key购买 nike

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

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

最佳答案

考虑到您有两条平行线L1(x1,y1)-(x2,y2)和L2(x3,y3)-(x4,y4),中线是这两个值的简单均值,就像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: new style getargs format but argument is not a tuple



因此,要解决此问题,您只需提供正确的方式即可,例如:
cv.line(img,(x1_middle, y1_middle),(x2_middle,y2_middle),(255,0,0),5)

Take a look here for drawing functions
  • 根据评论编辑

  • 由于我以为这是两条平行线而不是交点,因此问题再次出在数学上。如果您有两条线L1:y = 2x和L2:y = 20-2x,这两条线之间的交点是点,它们的x和y都相同,因此对于简单系统来说,只需求解即可:

    2x-y = 0

    2x + y = 20

    结果是x = 5,y = 10(绿线的基数)。

    Plot intersection

    关于python - 有没有一种方法可以找到/检测两个像素的中间或opencv创建的两行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61894249/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com