2016-01-27 2 views
1

Я пытаюсь обнаружить края изображения, используя фильтр Canny. Я смог обнаружить изображения, но углы не очень острые (выделены красными кругами). Удивительно, но первый угол острый и не сгорел по сравнению с другими углами. Почему это происходит и как его можно избежать?края углов не острые с canny фильтра

Пожалуйста, взгляните на прилагаемое изображение. enter image description here

Мой код:

края = cv2.Canny (изображение, 0.255)

Я не подавал какой-либо размытости, как это делает углы хуже. Более того, изменение минимальных и максимальных значений для Canny также не имеет никакого значения.

ответ

0

Алгоритм Canny включает в себя гауссово сглаживание, которое незначительно повлияет на градиент в ваших углах. https://en.wikipedia.org/wiki/Canny_edge_detector

Если вы знаете, что все ваши изображения будут бесшумными изображениями, такими как образец, который вы предоставили, вам следует подумать о принятии лапласиана изображения.

+0

Даже с лапласианцами краевые углы не острые – user1388142

+0

Края на изображении, если вы увеличиваете масштаб, не являются жесткими краями, а скорее являются градиентными краями. Если ваши края имеют ширину в несколько пикселей, то, насколько мне известно, нет никакой гарантии, чтобы получить абсолютно четкие углы. Вы могли бы пороговое изображение просто черным и белым, чтобы избавиться от полых краев. –

Смежные вопросы