imfilter
Дополнительные опции контураПри вычислении выходного пикселя за пределами изображения, фрагмент свертки или ядра корреляции обычно от ребра изображения, как проиллюстрировано в следующем рисунке.
Когда значения ядра выходят за пределы изображения
imfilter
функция обычно заполняет эти пиксели изображения не ребра путем предположения, что они - 0
. Это называется нулевым дополнением и проиллюстрировано в следующем рисунке.
Нулевое дополнение внешних пикселей
Когда вы фильтруете изображение, нулевое дополнение может привести к темной полосе вокруг ребра изображения, как показано в этом примере.
I = imread('eight.tif'); h = ones(5,5) / 25; I2 = imfilter(I,h); imshow(I), title('Original Image'); figure, imshow(I2), title('Filtered Image with Black Border')
Устранить дополняющие нуль артефакты вокруг ребра изображения, imfilter
предлагает названную репликацию границы метода дополнения альтернативного контура. В репликации границы значение любого пикселя вне изображения определяется путем тиражирования значения от самого близкого краевого элемента изображения. Это проиллюстрировано в следующем рисунке.
Реплицированные граничные пиксели
Чтобы отфильтровать репликацию границы использования, передайте дополнительный дополнительный аргумент 'replicate'
к imfilter
.
I3 = imfilter(I,h,'replicate'); figure, imshow(I3); title('Filtered Image with Border Replication')
imfilter
функционируйте поддерживает другие дополнительные опции контура, такие как 'circular'
и 'symmetric'
. Смотрите страницу с описанием для imfilter
для деталей.