Недавно у меня возникла дискуссия с моим коллегой о работе градиента изображения.
Обычно градиент изображения определяется как:
dI_dx(j,k) = I(j,k+1) - I(j,k) # x partial derivative of image
dI_dy(j,k) = I(j+1,k) - I(j,k) # y partial derivative of image
Для x частной производной изображения эта операция может быть представлена массивом фильтров 1x2:
[1 -1]
Но есть и другое определение:
dI_dx(j,k) = I(j,k+1) - I(j,k-1)
=> [1 0 -1]
(массив фильтров)
Итак, мой коллега спросил: в чем разница между ними и почему последний фильтр 1x3
чаще используется чем фильтр 1x2?
Мы обсудили несколько возможных причин:
1x3 более надежный, чем 1x2
Мой коллега: Нет, они оба выбирают по 2 пикселя для каждого пикселя градиента изображения, вероятность того, что шум на пикселях сэмплирует, одинакова среди этих фильтров.
1x3 более гладкий, чем 1x2
Мой коллега: Нет, определение фильтров 1x2 и 1x3 вообще не сглаживается.
Фильтр Собеля сглаживается гауссовым ...
Расширенный вопрос: Имеет ли ядро пространственного фильтра градиента изображения так называемый "размер окна"?
Кстати, меня и моего коллегу не убеждает следующая справочная веб-страница ...
http://www.cis.rit.edu/people/faculty/rhody/EdgeDetection.htm