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