图像增强算法综合应用课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《图像处理技术应用实践》课程设计题目图像增强算法综合应用
XXXX年XX月XX日
图像增强算法综合应用
梅雨
南京信息工程大学计算机与软件学院,南京 210044
摘要:图像增强是指 增强图像中的有用信息, 它可以是一个 失真的过程,其目的是要改善图像的视觉效 果。
运用空间域与频率域相结合的算法,去除随机噪声和周期噪声的混合噪声,提高图像质量。
关键词: 随机噪声;周期噪声;空间域和频率域去噪
1任务描述
图像增强处理:设计一套空间域与频率域结合的图像增强算法, 的带噪声
图像,去除噪声,提高图像质量。
(1) 已知:噪声为随机噪声和周期噪声混合噪声;
(2) 要求: a ) 去噪处理后,计算均方误差评估去噪处理后图像的去噪效果
b ) 撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现与 算法评估过程。
第一组图片:
第二组图片:
处理以下任一组图片中
(a) Origi H51I image
(b) Distoned image
(a) Oriy inj] image (b) Dii$tort^d.
d0 = 27; 2图像增强算法
2.1问题分析
(1) 图片中加入了随机噪声和周期噪声混合噪声。
针对不同的噪声,不同的去噪方法 效果不同,因此应该采用不同的去噪方法以达到最好的去噪效果。
(2) 随机噪声应在空间域去除,而空域去噪方法中,中值滤波法效果最好。
(3) 周期噪声应在频域中消去。
(4) 去除噪声后的图像仍然可以改善处理。
(5) 均方误差评估去噪处理后图像的去噪效果。
2.2算法设计
(1) 读入初始图片及加噪图片。
clc;
clear;
f=imread( 'D:\dogOrigi nal.bmp'
); g=imread( 'D:\dogDistorted.bmp' );
(2) 利用空域滤波,去除随机噪声,此时用中值滤波法,并显示它的频谱图。
g3=medfilt2(g,[3,3]);
原图 去除随机噪声
图1空域滤波后的图像与原图的比较
(3)
利用频域滤波,去除周期噪声。
先转化成
double 型,进行傅里叶变换,再转化
成数据矩阵,最后利用低通滤波去除周期噪声。
F = double(g);
% 数据类型转换, MATLAB^支持图像的无符号整型的计算
G = fft2(F); % 傅里叶变换
G= fftshift(G); %
转换数据矩阵
[M,N]=size(G);
nn = 2;
% 二阶巴特沃斯 (Butterworth) 低通滤波器
m = fix(M/2); n = fix(N/2); for i = 1 : M
for j = 1 : N
d = sqrt((i-m)A2+(j-n)^2);
h = 1/(1+0.414*(d/d0)A(2*nn)); %
result(ij) = h * G(i,j);
end
end
图2去除混合噪声后的图像与原图的比较(4 )计算均
方误差评估去噪效果。
[m n]=size(p);
l=f-p;
he=sum(sum(l));
avg=he/(m* n);
k=l-avg;
result1=(sum(sum(k.A2)))/(m* n);
if result1==0
disp('dog图均方误差');
result2=0
else disp('dog图均方误差');
result2=sqrt(result1)
end
3算法实现
代码clc;
clear;
f=imread('D:\dogOriginal.bmp');
subplot(421);imshow(f),title(' 原图'); f1=double(f);
f2=fft2(f1); % 傅立叶变换
原图去除随机噪声去噪后的图
计算低通滤波器传递函数
f2=fftshift(f2);
subplot(422);imshow(log(abs(f2)),[]),title(' 原图频谱图');
g=imread('D:\dogDistorted.bmp');
subplot(423);imshow(g),title(' 混合噪声图'); g1=double(g);
g2=fft2(g1); % 傅立叶变换
g2=fftshift(g2); subplot(424);imshow(log(abs(g2)),[]),title(' 混合噪声频谱图'); %空域滤波,去除随机噪声(中值) g3=medfilt2(g,[3,3]);
subplot(425);imshow(g3),title(' 去除随机噪声'); g4=double(g3);
F1=fft2(g3);% 对图像进行傅立叶变换
F1=fftshift(F1);% 移频
figure,subplot(426),imshow(log(abs(F1)),[]),title(' 去除随机噪声频谱图'); %频域滤波
G= F1;
[M,N]=size(G);
nn = 2; % 二阶巴特沃斯(Butterworth) 低通滤波器
d0 = 27;
m = fix(M/2);
n = fix(N/2);
for i = 1 : M
for j = 1 : N
d = sqrt((i-m)A2+(j-n)^2);
h = 1心+0.414*(d/d0)A(2* nn)); %计算低通滤波器传递函数
result(i,j) = h * G(i,j);
end
end
result = ifftshift(result);
g = ifft2(result);
p= uin t8(real(g));
subplot(427);imshow(p,[]),title('去噪后的图');
subplot(428);imshow(log(abs(result)),[]),title('去噪后的频谱图');
%计算均方误差
[m n]=size(p);
l=f-p;
he=sum(sum(l));
avg=he/(m* n);
k=l-avg;
result1=(sum(sum(k.A2)))/(m* n);
if result1==0
disp('dog图均方误差');
result2=0
else
disp('dog图均方误差');
result2=sqrt(result1)
end
4运行结果
原图频谱图
混合噪声频谱图
随机噪声频谱图
去噪后的频谱图
图3分步去噪与原图的比较
去除随机噪声
原图
混合噪声图
去噪后的图
R New to MATLAB? Watch tkis X/ideo. see ExamDlem. or r&ad Getting MartmcL
日y圏期方误差
result 2 -
2. 0245
A»l
图4均方误差结果
5程序分析
通过本次设计,我发现去噪后的图不如原图清晰,去噪效果不是很好,可以采用其
他算法观察去噪效果,也可以采用锐化函数对图像进一步锐化,提高图像质量。
参考文献:
[1] 章毓晋•图像工程(上册):图像处理(第3版),清华大学出版社,2012
[2] 徐炜君、刘国忠.空间域和频域结合的图像增强技术及实现,中国测试,2009,7
[3] 余成波.数字图像处理及MATLAB实现,重庆大学,2003。