imboxfilt

2-D прямоугольная фильтрация изображений

Описание

пример

B = imboxfilt(A) фильтрует изображение A с 2-D коробчатым фильтром 3 на 3. Коробочный фильтр также называется средним фильтром.

пример

B = imboxfilt(A,filterSize) фильтрует изображение A с 2-D коробчатым фильтром с размером, заданным filterSize.

пример

B = imboxfilt(___,Name,Value) использует аргументы пары "имя-значение" для управления аспектами фильтрации.

Примеры

свернуть все

Чтение изображения в рабочую область.

A = imread('cameraman.tif');

Выполните среднюю фильтрацию с помощью фильтра 11 на 11.

localMean = imboxfilt(A,11);

Отобразите оригинальное изображение и отфильтрованное изображение один за другим.

imshowpair(A,localMean,'montage')

Figure contains an axes. The axes contains an object of type image.

Чтение изображения в рабочую область.

A = imread('cameraman.tif');

Измените тип данных изображения на double чтобы избежать целочисленного переполнения.

A = double(A);

Фильтруйте изображение, вычисляя суммы локальных областей, используя коробчатый фильтр 15 на 15. Чтобы вычислить суммы локальных площадей, а не среднее, установите NormalizationFactor значение параметра 1.

localSums = imboxfilt(A, 15, 'NormalizationFactor',1);

Отобразите оригинальное изображение и отфильтрованное изображение один за другим.

imshowpair(A,localSums,'montage')

Figure contains an axes. The axes contains an object of type image.

Входные параметры

свернуть все

Фильтруемое изображение, заданное как числовой массив любой размерности. Если вход изображение имеет более двух размерности (ndims(I)>2), например, для изображения RGB, затем imboxfilt осуществляют прямоугольную фильтрацию всех плоскостей 2-D по более высоким размерностям.

Если A содержит Infs или NaNs, затем поведение imboxfilt не определено. Это может произойти, когда используется интегральная фильтрация на основе изображений. Чтобы ограничить распространение Infs и NaNs в выходах рассмотрите использование imfilter вместо этого.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Размер коробчатого фильтра, заданный как положительное нечетное целое или 2-элементный вектор положительных нечетных целых чисел. Если filterSize является скалярным, тогда прямоугольный фильтр квадратный.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: B = imboxfilt(A,5,'Padding','circular');

Шаблон заполнения, заданный как одно из следующих значений или числовой скаляр. Если вы задаете скалярное значение, входные пиксели изображения за пределами изображения неявно считаются имеющими скалярное значение.

ЗначениеОписание
'circular'Входные значения изображения за пределами изображения вычисляются неявно, предполагая, что входное изображение является периодическим.
'replicate'Входные значения изображений за пределами изображения приняты равными ближайшему значению границы изображения.
'symmetric'Входные значения изображений за пределами изображения вычисляются зеркальным отражением массива через границу массива.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

Коэффициент нормализации, примененный к прямоугольному фильтру, задается как числовой скаляр.

Значение по умолчанию 'NormalizationFactor' имеет эффект среднего фильтра - пиксели в выходном изображении являются локальным средством изображения по соседству, определяемым filterSize. Чтобы получить локальные суммы, установите 'NormalizationFactor' на 1. Чтобы избежать переполнения в таких обстоятельствах, рассмотрите использование изображений двойной точности путем преобразования входа изображения в класс double.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Отфильтрованное изображение, возвращенное в виде числового массива того же размера, что и входное изображение A.

Алгоритмы

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

Расширенные возможности

..
Введенный в R2015b