图像增强算法综合应用课程设计

  • 格式:doc
  • 大小:1.18 MB
  • 文档页数:7

《图像处理技术应用实践》课程设计

题 目 图像增强算法综合应用

学生姓名

学 号

院 系

专 业

任课教师

xxxx年xx月xx日

图像增强算法综合应用

梅雨

南京信息工程大学计算机与软件学院,南京 210044

摘要: 图像增强是指增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果。运用空间域与频率域相结合的算法,去除随机噪声和周期噪声的混合噪声,提高图像质量。

关键词: 随机噪声;周期噪声;空间域和频率域去噪

1 任务描述

图像增强处理:设计一套空间域与频率域结合的图像增强算法,处理以下任一组图片中的带噪声图像,去除噪声,提高图像质量。

(1)已知:噪声为随机噪声和周期噪声混合噪声;

(2)要求:

a)去噪处理后,计算均方误差评估去噪处理后图像的去噪效果

b)撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现与算法评估过程。

第一组图片:

第二组图片:

2 图像增强算法

2.1问题分析

(1)图片中加入了随机噪声和周期噪声混合噪声。针对不同的噪声,不同的去噪方法效果不同,因此应该采用不同的去噪方法以达到最好的去噪效果。

(2)随机噪声应在空间域去除,而空域去噪方法中,中值滤波法效果最好。

(3)周期噪声应在频域中消去。

(4)去除噪声后的图像仍然可以改善处理。

(5)均方误差评估去噪处理后图像的去噪效果。

2.2算法设计

(1)读入初始图片及加噪图片。

clc;

clear;

f=imread('D:\dogOriginal.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)低通滤波器

d0 = 27; m = fix(M/2);

n = fix(N/2);

for i = 1 : M

for j = 1 : N

d = sqrt((i-m)^2+(j-n)^2);

h = 1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数

result(i,j) = 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.^2)))/(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)^2+(j-n)^2);

h = 1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数

result(i,j) = h * G(i,j);

end

end

result = ifftshift(result);

g = ifft2(result); p= uint8(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.^2)))/(m*n);

if result1==0

disp('dog图均方误差');

result2=0

else

disp('dog图均方误差');

result2=sqrt(result1)

end

4 运行结果

原图原图频谱图混合噪声图混合噪声频谱图去除随机噪声随机噪声频谱图去噪后的图去噪后的频谱图

图3 分步去噪与原图的比较 7 / 7

图4 均方误差结果

5 程序分析

通过本次设计,我发现去噪后的图不如原图清晰,去噪效果不是很好,可以采用其他算法观察去噪效果,也可以采用锐化函数对图像进一步锐化,提高图像质量。

参考文献:

[1]章毓晋.图像工程(上册):图像处理(第3版),清华大学出版社,2012

[2]徐炜君、刘国忠.空间域和频域结合的图像增强技术及实现,中国测试,2009,7

[3]余成波.数字图像处理及MATLAB实现,重庆大学,2003