Средний фильтр для сглаживания изображений в Matlab

Можно использовать JarJar, который будет использовать затенение пакета, чтобы удостовериться, что файл JAR не конфликтует с другими.

15
задан Benjamin 12 January 2014 в 17:45
поделиться

3 ответа

Вы можете использовать scala.Либо. h = fspecial ('average', n) возвращает фильтр усреднения. n - вектор размером 1 на 2, определяющий количество строк и столбцов в h .

29
ответ дан 1 December 2019 в 00:45
поделиться

Я вижу, что хорошие ответы уже были даны, но я подумал, что было бы неплохо просто дать способ выполнять среднюю фильтрацию в MATLAB, используя никаких специальных функций или наборов инструментов. Это также очень хорошо для понимания того, как именно работает процесс, поскольку от вас требуется явно установить ядро ​​свертки. Ядро среднего фильтра, к счастью, очень простое:

I = imread(...)
kernel = ones(3, 3) / 9; % 3x3 mean kernel
J = conv2(I, kernel, 'same'); % Convolve keeping size of I

Обратите внимание, что для цветных изображений вам придется применить его к каждому из каналов изображения.

7
ответ дан 1 December 2019 в 00:45
поделиться
I = imread('peppers.png');
H = fspecial('average', [5 5]);
I = imfilter(I, H);
imshow(I)

Обратите внимание, что фильтры могут применяться к изображениям интенсивности (2D-матрицы) с использованием filter2 , а к многомерным изображениям (изображениям RGB или 3D-матрицам) imfilter .

Также на процессорах Intel imfilter может использовать библиотеку Intel Integrated Performance Primitives (IPP) для ускорения выполнения.

5
ответ дан 1 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: