2D фильтрация поля интегральных изображений
B = integralBoxFilter(intA)
B = integralBoxFilter(intA,filterSize)
B = integralBoxFilter(___,Name,Value)
фильтрует интегральное изображение B
= integralBoxFilter(intA
,filterSize
)intA
с 2D фильтром поля с размером, заданным filterSize
.
интеграл фильтров отображает B
= integralBoxFilter(___,Name,Value
)intA
с Парами "имя-значение", чтобы управлять различными аспектами фильтрации.
Считайте изображение в рабочую область.
A = imread('cameraman.tif');
Заполните изображение радиусом окружения фильтра. Этот пример использует 11 11 фильтр.
filterSize = [11 11]; padSize = (filterSize-1)/2; Apad = padarray(A, padSize, 'replicate','both');
Вычислите интегральное изображение заполненного входного изображения.
intA = integralImage(Apad);
Отфильтруйте интегральное изображение.
B = integralBoxFilter(intA, filterSize);
Отобразите оригинальное изображение и отфильтрованное изображение.
figure
imshow(A)
title('Original Image')
figure
imshow(B,[])
title('Filtered Image')
Считайте изображение в рабочую область.
A = imread('cameraman.tif');
Заполните изображение радиусом окружения фильтра, расчетного (11-1)/2
.
padSize = [5 5]; Apad = padarray(A, padSize, 'replicate', 'both');
Вычислите интегральное изображение заполненного входа.
intA = integralImage(Apad);
Отфильтруйте интегральное изображение с вертикалью [11 1] фильтр.
Bvert = integralBoxFilter(intA, [11 1]);
Обрежьте вывод, чтобы сохранить входной размер изображения и отобразить его.
Bvert = Bvert(:,6:end-5);
Отфильтруйте интегральное изображение с горизонталью [1 11] фильтр.
Bhorz = integralBoxFilter(intA, [1 11]);
Обрежьте вывод, чтобы сохранить входной размер изображения.
Bhorz = Bhorz(6:end-5,:);
Отобразите оригинальное изображение и отфильтрованные изображения.
figure,
imshow(A)
title('Original Image')
figure,
imshow(Bvert,[])
title('Filtered with Vertical Filter')
figure,
imshow(Bhorz,[])
title('Filtered with Horizontal Filter')
intA
— Интегральное изображение, которое будет отфильтрованоdouble
любой размерностиИнтегральное изображение, которое будет отфильтровано, заданное как действительная, неразреженная матрица любой размерности. Интегральное изображение должно быть вертикальным — integralBoxFilter
не поддерживает вращаемые интегральные изображения. Первая строка и столбец интегрального изображения принята, чтобы быть дополненной нулем, как возвращено integralImage
.
Пример: B = integralBoxFilter(A);
Типы данных: double
filterSize
— Размер фильтра поляРазмер фильтра поля, заданного как скалярный или вектор с 2 элементами положительных, нечетных целых чисел. Если filterSize
является скаляром, integralBoxFilter
использует квадратный фильтр поля.
Пример: B = integralBoxFilter(A,5);
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
B = integralBoxFilter(A,5,'NormalizationFactor',1);
'NormalizationFactor'
— Коэффициент нормализации применился к фильтру поля1/filterSize.^2
, если скаляр и 1/prod(filterSize)
, если вектор (значение по умолчанию) | числовой скалярКоэффициент нормализации применился к фильтру поля, заданному в виде числа или вектора.
'NormalizationFactor'
по умолчанию имеет эффект среднего фильтра — пиксели в выходном изображении являются локальными средними значениями изображения. Чтобы получить суммы местности, установите 'NormalizationFactor'
на 1
. Чтобы избежать переполнения при таких обстоятельствах, рассмотрите использование изображений двойной точности путем преобразования входного изображения, чтобы классифицировать double
.
Пример: B = integralBoxFilter(A,5,'NormalizationFactor',1);
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
B
Фильтрованное изображениеdouble
Фильтрованное изображение, возвращенное как действительная, неразреженная матрица класса double
. integralBoxFilter
возвращает только части фильтрации, которые вычисляются без дополнения.
Указания и ограничения по применению:
integralBoxFilter
поддерживает генерацию кода С (требует MATLAB® Coder™). Для получения дополнительной информации смотрите Генерацию кода для Обработки изображений.
Параметр 'NormalizationFactor'
должен быть постоянным временем компиляции.
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.