Поиск линий с определенными углами в Python Open Cv

Моя задача состоит в том, чтобы собрать информацию о краях, которые имеет конкретное изображение, для поиска изображений на основе содержимого.

Что я имею в виду:

а. применить фильтр Гаусса, чтобы смягчить/размыть изображение.

б. примените функцию Шарра для повышения резкости.

в. применить обнаружение хитрых краев

д. каким-то образом извлечь информацию о ребрах 0, 45, 90 и 135. (Может быть, Hough Transform?)

Есть ли у кого-нибудь предложения о том, что я уже запланировал, и как я могу извлечь информацию о краях?

Спасибо!


person aztec242    schedule 25.08.2018    source источник
comment
Прежде всего, покажите нам образцы изображений.   -  person Yves Daoust    schedule 28.08.2018


Ответы (1)


Зачем усложнять? Во-первых: хитрый оператор уже включает размытие, зачем нужно предварительное размытие изображения? Кроме того, повышение резкости не требуется для обнаружения краев. Вы можете использовать оператор Собеля для вычисления направления обнаруженных ребер. Для этого вам сначала нужно применить фильтр в направлении x и y, а затем вычислите для каждого краевого пикселя угол ориентации θ θ = atan(Gy/Gx), где Gy — это пиксель на карте вертикального края, а Gx — пиксель на карте горизонтального края.

person SilverMonkey    schedule 25.08.2018