【问题标题】:houghlinesp and thresholdinghoughlinesp 和阈值处理
【发布时间】:2019-09-30 11:09:54
【问题描述】:

我正在使用 opencv Houghlinesp 来检测停车场中的线路。这是源图

当我进行霍夫变换-p 来检测线条时,我得到了这样的最终图像。

它确实检测到了空格。知道如何去除汽车顶部的这些嘈杂的线条吗?或任何关于替代算法或方法的方向都受到高度赞赏。

img = cv.imread('Parking-Lot.jpg')
threshold=100
minLineLength = 60
rho=2
maxLineGap=20
theta = np.pi/180
edges = cv.Canny(img, 100, 200)
lines = cv.HoughLinesP(edges, rho, theta, threshold, np.array([]), minLineLength =minLineLength , maxLineGap=maxLineGap)
 for i in range(len(lines)):
    for line in lines[i]:
        cv.line(img, (line[0],line[1]), (line[2],line[3]), (0,255,0), 2)
cv2.imwrite("lines.jpg", img)

【问题讨论】:

    标签: opencv hough-transform houghlinesp


    【解决方案1】:

    在应用边缘检测之前,您可以通过对图像进行阈值处理来消除大部分噪点。这样,您将移除(大部分)汽车并保留您感兴趣的空白线:

    import cv2
    import numpy as np
    
    img = cv2.imread('Parking-Lot.jpg')
    threshold=100
    minLineLength = 60
    rho=2
    maxLineGap=20
    theta = np.pi/180
    
    # here you convert the image to grayscale and then threshhold to binary
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    ret,thresh = cv2.threshold(gray,180,255,cv2.THRESH_BINARY)
    
    # continue with the threshholded image instead
    edges = cv2.Canny(thresh, 100, 200)
    lines = cv2.HoughLinesP(edges, rho, theta, threshold, np.array([]), minLineLength =minLineLength , maxLineGap=maxLineGap)
    for i in range(len(lines)):
      for line in lines[i]:
         cv2.line(img, (line[0],line[1]), (line[2],line[3]), (0,255,0), 2)
    cv2.imwrite("lines.jpg", img)
    

    这将为您带来更清晰的结果:

    随意尝试阈值参数;您需要找到一个阈值,排除大多数汽车,同时保留您想要检测的所有线路。

    【讨论】:

    • 非常感谢!现在照片看起来改进了。我会努力的,让你知道进展如何。
    • 嗨,我还有一个问题。白色的汽车正在引起噪音。例如靠近左上角的 SUV。是否可以使用腐蚀等图像预处理技术?
    • 但仍然不足以完成工作,我认为找到线条不是实现功能的方式。覆盖远离摄像头覆盖区域的汽车以及难以正确检测空置位置的线路。同样正如@Balaji 提到的那样,导致噪音的白色也是查找线失败的情况。
    • @Balaji 不幸的是,白色汽车总是会产生一些噪音,而将它们移除并非易事。侵蚀可能也不起作用,因为您将在二进制图像中将线条与汽车一起删除,因为它们要小得多。如果你想保持简单,你最好的选择是调整参数以获得最好的结果。
    • 否则您需要通过模板匹配或分类方法在第一步中检测和删除汽车,但这不是一件容易的事。
    猜你喜欢
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 2020-01-25
    • 2013-03-11
    • 1970-01-01
    • 2022-06-22
    • 2020-11-12
    • 2017-01-18
    相关资源
    最近更新 更多