如何删除(嘈杂和简短的)线路?

时间:2018-11-21 15:07:04

标签: python opencv image-processing line noise

使用OpenCV和Python,我试图在图像中找到水平和垂直线。

这是我的输出:

vertical_lines

水平线

好吧,我正在尝试仅检测长行并删除短(嘈杂)行。

我希望我的输出看起来像这张修改过的图片:

最终水平线

如果需要,我可以为您提供代码。

1 个答案:

答案 0 :(得分:0)

您可以使用轮廓来解决该问题。

im2, contours, hierarchy = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
for contour in contours:
    (x, y, w, h) = cv2.boundingRect(contour)
    # if h<500: # check the length of verical lines 
    if w<500: # check the length of horizontal lines
        cv2.fillConvexPoly(gray,contour,0) #fill the contour with black color

enter image description here