exponenta event banner

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