Должно ли обнаружение края OpenCV Python Canny давать мне очень разные результаты в зависимости от размера изображения? - PullRequest
0 голосов
/ 22 сентября 2018

Я импортирую изображение из видеокадра, используя cv2.resize (), чтобы увеличить изображение в 4 раза, а затем использую обнаружение краев Canny, чтобы помочь удалить шум перед отслеживанием объекта.Однако обнаружение края Canny продолжало давать мне черное изображение.

После долгих испытаний я обнаружил, что использование cv2.resize () для уменьшения размера изображения до 1/4, прежде чем обнаружение края Canny дало мне результат, на который я надеялся,Уменьшение размера изображения до 1/3 также дало мне гораздо лучший результат, но с меньшими краями, чем уменьшение 1/4, а уменьшение масштаба до 1/16 дало больше краев, чем до 1/4.Почему это происходит?На самом деле, когда я писал этот вопрос, я изменял размеры немасштабированного результата и обнаружил, что вызовы namedWindow и cv.WINDOW_NORMAL также улучшили его.

Я понимаю, что могу просто изменить масштаб, запустить обнаружение Canny, а затем увеличить результатОбнаружение ловких краев и слежение за моими объектами, но это сбивает меня с толку, и знание того, почему это происходит, было бы интересно для меня, и я думаю также для других.Ничто из того, что я мог найти в документации opencv, не предполагало зависимости алгоритма Канни от размера изображения.

См. Изображения ниже, все они генерируются с помощью output = cv2.Canny (input, 30, 50):

Немасштабированный (улучшено с помощью cv.WINDOW_NORMAL) https://i.imgur.com/uG93Dhd.png

1/4 Уменьшено до обнаружения Canny https://i.imgur.com/dQP9bxB.png

1/3 Уменьшено до обнаружения Canny https://i.imgur.com/MkSpaT5.png

1/16 уменьшено до обнаружения Canny https://i.imgur.com/SbpPkYP.png

1 Ответ

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

При изменении размера вы меняете размер функций.Но так как вы не меняете размер фильтра, результаты отличаются.Вы на самом деле изучаете масштабное пространство.

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

...