Python 和 OpenCV - 霍夫线变换中的主线

标签 python opencv hough-transform houghlinesp

对于我的程序,我使用 OpenCV 和 Python 尝试检测道路车道。为了实现这一点,我使用霍夫线变换来检测线条。然而,它发现许多线彼此相邻,我正在尝试找到一种方法来制作一条位于所有其他线之间的平均线。提示?

这是我的代码:

    import numpy as np
    import cv2

    cap = cv2.VideoCapture('CVfootage.mov')

    while(True):
        ret, frame = cap.read()
        frame = frame[200:720, 0:1280]    
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        blur = cv2.GaussianBlur(gray,(7,7),0)
        edges = cv2.Canny(blur, 50, 150)

        lines = cv2.HoughLinesP(image=edges,rho=1,theta=np.pi/180, threshold=100,lines=np.array([]), minLineLength=100,maxLineGap=80)

        a,b,c = lines.shape
        for i in range(a):
            cv2.line(blur, (lines[i][0][0], lines[i][0][1]), (lines[i][0][2], lines[i][0][3]), (0, 0, 255), 3, cv2.LINE_AA)

        cv2.imshow('edges', edges)
        cv2.imshow('hough', blur)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()

最佳答案

您需要调整houghlinesP函数的参数

如果您希望减少彼此相邻的行数:增加“rho”

如果您总体上想要更少的行数:增加阈值

关于Python 和 OpenCV - 霍夫线变换中的主线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41993661/

相关文章:

python - 如何解决 numpy 中的内存 View 错误?

python - 如何在 Python 中使用 OpenCV GeneralizedHoughTransform 类?

c++ - OpenCV:如何检测特定颜色的线条?

c++ - opencv中的HoughLines变换

python - 无法使用非整数键按位置索引进行索引

python - 搜索 csv 文件最快的方法是什么?

python - 这个函数中lambda函数的作用是什么,使用它有什么好处?

opencv - 在 OpenCV 中规范化从相机捕获的文档

ios - 将 OpenCV 与 MonoTouch 链接返回 "Undefined symbols for architecture i386"错误

visual-studio - LNK1112 : module machine type 'x64' conflicts with target machine type 'x86' - opencv build