Как удалить (шумные и короткие) строки? - PullRequest
0 голосов
/ 21 ноября 2018

Используя OpenCV с Python, я пытаюсь найти горизонтальные и вертикальные линии в моем изображении.

Это мой вывод:

vertical_lines

horizontal_lines

Ну, я пытаюсь обнаружить только длинные строки и удалить короткие (шумные) строки.

Надеюсьчто мой вывод выглядит как это измененное изображение:

Final_Horizont_lines

Я могу предоставить вам свой код, если необходимо.

1 Ответ

0 голосов
/ 22 ноября 2018

Вы можете решить эту проблему с помощью контуров.

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

...