2D фильтрация поля изображений
фильтры отображают B
= imboxfilt(A
,filterSize
)A
с 2D полем фильтруют с размером, заданным filterSize
.
аргументы пары "имя-значение" использования, чтобы управлять аспектами фильтрации.B
= imboxfilt(___,Name,Value
)
Считайте изображение в рабочую область.
A = imread('cameraman.tif');
Выполните среднюю фильтрацию с помощью 11 11 фильтр.
localMean = imboxfilt(A,11);
Отобразите оригинальное изображение и отфильтрованное изображение, рядом друг с другом.
imshowpair(A,localMean,'montage')
Считайте изображение в рабочую область.
A = imread('cameraman.tif');
Измените тип данных изображения к double
избегать целочисленного переполнения.
A = double(A);
Отфильтруйте изображение, вычислив суммы местности, с помощью 15 15 фильтр поля. Чтобы вычислить суммы местности, а не среднее значение, устанавливают NormalizationFactor
параметр к 1.
localSums = imboxfilt(A, 15, 'NormalizationFactor',1);
Отобразите оригинальное изображение и отфильтрованное изображение, рядом друг с другом.
imshowpair(A,localSums,'montage')
A
— Отобразите, чтобы быть отфильтрованнымиОтобразите, чтобы быть отфильтрованными, заданными как числовой массив любой размерности. Если входное изображение имеет больше чем две размерности (ndims(I)>2
), такой что касается изображения RGB, затем imboxfilt
выполняет фильтрацию поля всех 2D плоскостей по более высоким измерениям.
Если A
содержит Infs
или NaNs
, затем поведение imboxfilt
isundefined. Это может произойти, когда интегральная основанная на изображении фильтрация используется. Ограничить распространение Infs
и NaNs
в выходе рассмотрите использование imfilter
вместо этого.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
filterSize
— Размер фильтра поля
(значение по умолчанию) | положительное, нечетное целое число | вектор с 2 элементами положительных, нечетных целых чиселРазмер фильтра поля, заданного как положительный нечетный целочисленный или вектор с 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');
'Padding'
— Дополнение шаблона'replicate'
(значение по умолчанию) | 'circular'
| 'symmetric'
| числовой скалярДополнение шаблона, заданного как одно из следующих значений или числового скаляра. Если вы задаете скалярное значение, входные пиксели изображения вне границ изображения неявно приняты, чтобы иметь скалярное значение.
Значение | Описание |
---|---|
'circular' | Входные значения изображений вне границ изображения вычисляются путем неявного предположения, что входное изображение является периодическим. |
'replicate' | Входные значения изображений вне границ изображения приняты равные самому близкому значению цвета границы изображения. |
'symmetric' | Входные значения изображений вне границ изображения вычисляются отражением зеркала массив через границу массивов. |
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| char
| string
'NormalizationFactor'
— Коэффициент нормализации применился к фильтру поля1/filterSize.^2
, если скаляр и 1/prod(filterSize)
, если вектор (значение по умолчанию) | числовой скалярКоэффициент нормализации применился к фильтру поля, заданному в виде числа.
'NormalizationFactor'
по умолчанию оказывает влияние среднего фильтра — пиксели в выходном изображении являются локальными средними значениями изображения по окружению, определенному
filterSize
. Чтобы получить суммы местности, установите 'NormalizationFactor'
к 1
. Чтобы избежать переполнения при таких обстоятельствах, рассмотрите использование изображений двойной точности путем преобразования входного изображения, чтобы классифицировать double
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
B
— Фильтрованное изображениеФильтрованное изображение, возвращенное как числовой массив одного размера с входом, отображает A
.
imboxfilt
выполняет фильтрацию с помощью или основанной на свертке фильтрации или интегральной фильтрации изображений, с помощью внутренней эвристики, чтобы определить который, фильтруя подход к использованию.
Указания и ограничения по применению:
imboxfilt
поддерживает генерацию кода С (требует MATLAB® Coder™). Обратите внимание на то, что, если вы выбираете типовой MATLAB Host Computer
целевая платформа, imboxfilt
генерирует код, который пользуется предварительно скомпилированной, специфичной для платформы разделяемой библиотекой. Использование разделяемой библиотеки сохраняет оптимизацию производительности, но ограничивает целевые платформы, для которых может быть сгенерирован код. Для получения дополнительной информации смотрите, что Генерация кода пользуется Разделяемой Библиотекой.
При генерации кода все входные параметры вектора символов должны быть константами времени компиляции.
Указания и ограничения по применению:
При генерации кода все входные параметры вектора символов должны быть константами времени компиляции.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.