Примените гауссовы фильтры сглаживания к изображениям

В этом примере показано, как применить различные Гауссовы фильтры сглаживания к изображениям с помощью imgaussfilt. Гауссовы фильтры сглаживания обычно используются, чтобы уменьшать шум.

Считайте изображение в рабочую область.

I = imread('cameraman.tif');

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

Iblur1 = imgaussfilt(I,2);
Iblur2 = imgaussfilt(I,4);
Iblur3 = imgaussfilt(I,8);

Отобразите оригинальное изображение и все отфильтрованные изображения.

figure
imshow(I)
title('Original image')

Figure contains an axes object. The axes object with title Original image contains an object of type image.

figure
imshow(Iblur1)
title('Smoothed image, \sigma = 2')

Figure contains an axes object. The axes object with title S m o o t h e d blank i m a g e , blank sigma blank = blank 2 contains an object of type image.

figure
imshow(Iblur2)
title('Smoothed image, \sigma = 4')

Figure contains an axes object. The axes object with title S m o o t h e d blank i m a g e , blank sigma blank = blank 4 contains an object of type image.

figure
imshow(Iblur3)
title('Smoothed image, \sigma = 8')

Figure contains an axes object. The axes object with title S m o o t h e d blank i m a g e , blank sigma blank = blank 8 contains an object of type image.

Отфильтруйте изображение с анизотропными Гауссовыми ядрами сглаживания. imgaussfilt позволяет Гауссову ядру иметь различные стандартные отклонения по измерениям строки и столбца. Они называются выровненными осью анизотропными Гауссовыми фильтрами. Задайте вектор с 2 элементами для sigma при использовании анизотропных фильтров.

IblurX1 = imgaussfilt(I,[4 1]);
IblurX2 = imgaussfilt(I,[8 1]);
IblurY1 = imgaussfilt(I,[1 4]);
IblurY2 = imgaussfilt(I,[1 8]);

Отобразите отфильтрованные изображения.

figure
imshow(IblurX1)
title('Smoothed image, \sigma_x = 4, \sigma_y = 1')

Figure contains an axes object. The axes object with title S m o o t h e d blank i m a g e , blank sigma indexOf x baseline blank = blank 4 , blank sigma indexOf y baseline blank = blank 1 contains an object of type image.

figure
imshow(IblurX2)
title('Smoothed image, \sigma_x = 8, \sigma_y = 1')

Figure contains an axes object. The axes object with title S m o o t h e d blank i m a g e , blank sigma indexOf x baseline blank = blank 8 , blank sigma indexOf y baseline blank = blank 1 contains an object of type image.

figure
imshow(IblurY1)
title('Smoothed image, \sigma_x = 1, \sigma_y = 4')

Figure contains an axes object. The axes object with title S m o o t h e d blank i m a g e , blank sigma indexOf x baseline blank = blank 1 , blank sigma indexOf y baseline blank = blank 4 contains an object of type image.

figure
imshow(IblurY2)
title('Smoothed image, \sigma_x = 1, \sigma_y = 8')

Figure contains an axes object. The axes object with title S m o o t h e d blank i m a g e , blank sigma indexOf x baseline blank = blank 1 , blank sigma indexOf y baseline blank = blank 8 contains an object of type image.

Подавите горизонтальные полосы, видимые в области неба оригинального изображения. Анизотропные Гауссовы фильтры могут подавить горизонталь или вертикальные функции в изображении. Извлеките раздел области неба изображения и используйте Гауссов фильтр с более высоким стандартным отклонением вдоль оси X (направление увеличивающихся столбцов).

I_sky = imadjust(I(20:50,10:70));
IblurX1_sky = imadjust(IblurX1(20:50,10:70));

Отобразите исходную закрашенную фигуру неба с отфильтрованной версией.

figure
imshow(I_sky), title('Sky in original image')

Figure contains an axes object. The axes object with title Sky in original image contains an object of type image.

figure
imshow(IblurX1_sky), title('Sky in filtered image')

Figure contains an axes object. The axes object with title Sky in filtered image contains an object of type image.

Для просмотра документации необходимо авторизоваться на сайте