2D фильтрация поля изображений
B = imboxfilt(A)
B = imboxfilt(A,filterSize)
B = imboxfilt(___,Name,Value)
фильтры отображают B
= imboxfilt(A
,filterSize
)A
с 2D фильтром поля с размером, заданным filterSize
.
фильтры отображают B
= imboxfilt(___,Name,Value
)A
с 2D фильтром поля, где Пары "имя-значение" управляют аспектами фильтрации.
Считайте изображение в рабочую область.
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
Отобразите, чтобы быть отфильтрованнымиОтобразите, чтобы быть отфильтрованными, заданными как действительный, неразреженный массив любой размерности.
Если A
содержит Infs
или NaNs
, поведение imboxfilt
не определено. Это может произойти, когда интегральная основанная на изображении фильтрация используется. Чтобы ограничить распространение Infs
и NaNs
в выводе, рассмотрите использование imfilter
вместо этого.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
filterSize
— Размер фильтра поляРазмер фильтра поля, заданного как скалярный или вектор с 2 элементами положительных, нечетных целых чисел. Если filterSize
является скаляром, фильтр поля является квадратным.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
A = imread('cameraman.tif'); 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
Фильтрованное изображениеФильтрованное изображение, возвращенное как действительная, неразреженная матрица, тот же размер как входное изображение.
imboxfilt
выполняет фильтрацию с помощью или основанной на свертке фильтрации или интегральной фильтрации изображений, с помощью внутренней эвристики, чтобы определить который, фильтруя подход к использованию.
Указания и ограничения по применению:
imboxfilt
поддерживает генерацию кода С (требует MATLAB® Coder™). Обратите внимание на то, что, если вы выбираете типичную целевую платформу MATLAB Host Computer
, imboxfilt
генерирует код, который пользуется предварительно скомпилированной, специфичной для платформы разделяемой библиотекой. Использование разделяемой библиотеки сохраняет оптимизацию производительности, но ограничивает целевые платформы, для которых может быть сгенерирован код. Для получения дополнительной информации смотрите, что Генерация кода пользуется Разделяемой Библиотекой.
При генерации кода все входные параметры вектора символов должны быть константами времени компиляции.
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.