Как использовать стандартные фильтры обработки изображений (из OpenCV) для удаления длинных горизонтальных и вертикальных линий из изображения?Удаление длинных горизонтальных/вертикальных линий из изображения края с использованием OpenCV
Изображения B & W так что удаление означает просто покраску черного цвета.
Иллюстрация:
Я в настоящее время делает это в Python, итерацию над пиксельных строк и COLS и обнаружения диапазоны последовательных пикселей, удаляя те, которые больше, чем N пикселей. Однако он по-прежнему медленный по сравнению с библиотекой OpenCV, и если есть способ сделать то же самое с функциями OpenCV, это, вероятно, будет на порядок быстрее.
Я предполагаю, что это можно сделать путем свертки с использованием ядра, представляющего собой ряд пикселей (для горизонтальных линий), но мне сложно определить точную операцию, которая бы сделала трюк.
Просто подумайте здесь. Почему бы вам не использовать Hough Line Detection для поиска строк и делать то, что вы хотите по выбранным линиям? –
Yep собирался опубликовать то же самое на [docs] (http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.html) и [теория] (http: // en.wikipedia.org/wiki/Hough_transform#Theory) при необходимости. – YXD
Кажется, что возвращаются сегменты длинной линии, разбитые на многие мелкие, что разрушает способность фильтровать недостаточно длинные ... любую идею, почему это произойдет? –