如何提高Probalistic Hough-Lines-Transform的检测?

时间:2017-06-26 12:42:38

标签: python opencv image-processing edge-detection houghlinesp

我试图在模拟显示器的视频中检测时钟指针并提取它指向​​的值。我正在使用Python和OpenCV。

我基本上做的是:

  1. 我使用高斯模糊来降低当前图像中的噪点。
  2. 我使用Canny边缘检测过滤边缘
  3. 我应用了probalistic Hough Line Transform
  4. 守则:

    def detect_clock_hand(img, center):
        # Convert to gray
        gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    
        # Apply gaussian blur
        blur = cv2.GaussianBlur(gray, (11, 11), 0, 0)
    
        # Apply sobel edge detection
        edges = cv2.Canny(blur, 30, 40)
    
        # Apply HoughTransform
        lines = cv2.HoughLinesP(edges, 10, np.pi / 180, 5, 15, 50)
    
        #Filter lines in a given radius
        filtered_edges = util.filter_edges(lines, center)
    

    我玩了很多参数来改善结果。目前的状态如下:

    1. 坎尼 Canny

    2. 霍夫 HoughLineTransformP

    3. 如您所见,结果只标志着钟表的一部分。而那部分并不是一个好的事情。我可以从Canny边缘检测中得知。我想知道我是否使用Hough Transform错误或边缘检测实际上并不像我想的那样好。由于我是图像处理的新手,所以我很乐意接受任何建议。

0 个答案:

没有答案