题目如下:
任意读取一幅灰度图像,利用5×5高斯低通滤波器(可用现成模板或利用高斯函数生成模板)进行滤波处理,画出滤波结果。
利用高斯滤波结果,进行反锐化掩蔽处理,画出滤波结果。
将要进行处理的图片命名为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');
原始图像如下:
高斯低通滤波处理图像如下:
反锐化掩蔽处理图像如下: