高斯滤波

  模糊和锐化

Posted by     Keyon                      on October 6, 2018

题目如下:

  1. 任意读取一幅灰度图像,利用5×5高斯低通滤波器(可用现成模板或利用高斯函数生成模板)进行滤波处理,画出滤波结果。

  2. 利用高斯滤波结果,进行反锐化掩蔽处理,画出滤波结果。

将要进行处理的图片命名为Eminem.jpg

接下来运行以下代码:

clc,clear all;

% 原始图像处理

I = imread('Eminem.jpg');  % 读取图像
a=double(I);  % 转换为double型
q = a/255;
r = rgb2gray(q);  % 转换为灰度图像
figure(1);
imshow(r);  % 显示灰度图像
imwrite(r,'origin.jpg');

% 高斯低通滤波

b = fspecial('gaussian',[5 5],7);  % 生成高斯模版
result=conv2(r(:,:,1),b,'same');  % 卷积
figure(2);
imshow(result);  % 显示高斯滤波结果
imwrite(result,'gaussian.jpg');

% 反锐化掩蔽

mask = imsubtract(r,result);  % 图像相减
unshape = imadd(r,mask);  % 图像相加
figure(3);
imshow(unshape);  % 显示反锐化掩蔽
imwrite(unshape,'unshape.jpg');

原始图像如下:

i8TGtJ.jpg

高斯低通滤波处理图像如下:

i8TJh9.jpg

反锐化掩蔽处理图像如下:

i8T8k4.jpg