Почему сумма фильтров обнаружения краев равна 0, а сумма фильтров размытия равна 1?

Сейчас я изучаю фильтры в компьютерном зрении. Я вижу, что сумма элементов ядра для обнаружения краев равна 0, тогда как для размытия сумма равна 1.

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

Заранее спасибо!


person marita    schedule 22.06.2021    source источник


Ответы (1)


Фильтры размытия должны сохранять среднюю интенсивность изображения. Вот почему их ядра в сумме равны 1. Если вы посмотрите на их частотную характеристику, вы увидите, что компонент нулевой частоты (постоянный компонент) равен 1. Этот компонент является суммой по ядру. А значение 1 означает, что компонент постоянного тока изображения не изменяется при применении свертки. Да, это свойство любого ФНЧ. Изменение нулевой частоты означает, что вы не пропускаете меньше низких частот без изменений.

То, что вы называете фильтрами обнаружения границ, на самом деле является оценкой производной. Они добавляют к нулю из-за определения производной: наклон в любой точке не зависит от того, насколько высоко находится эта точка. Добавление или вычитание константы из функции (или изображения) не изменит производную, производная I и I+1 одинаковы. Следовательно, производный фильтр не может сохранить среднюю интенсивность изображения: вы получите разные результаты для dI/dx и для d(I+1)/dx, что не имеет смысла.

Фильтр Лапласа (не детектор границ) является обобщенной производной второго порядка, применимы те же рассуждения, что и выше.

person Cris Luengo    schedule 22.06.2021
comment
Спасибо за подробный ответ Крис! Это прояснило мое замешательство :) - person marita; 23.06.2021