数字图像处理软件开发设计报告docx.docx
《数字图像处理软件开发设计报告docx.docx》由会员分享,可在线阅读,更多相关《数字图像处理软件开发设计报告docx.docx(119页珍藏版)》请在冰豆网上搜索。
![数字图像处理软件开发设计报告docx.docx](https://file1.bdocx.com/fileroot1/2023-7/10/a93c0405-44ed-4193-b832-700d27396d7d/a93c0405-44ed-4193-b832-700d27396d7d1.gif)
数字图像处理软件开发设计报告docx
专业文档
数字图像处理软件开发设计报告
专业文档
实验一、读取图像、显示图像和保存图像
实验二、图像的灰度变换、取反和二值化处理
实验三、直方图均衡
实验四、图像锐化
实验五、图像的平滑滤波
实验六、图像的正交变换
实验七、高频强调滤波增强图像
实验八、陷波滤波器增强图像
实验九、消除匀速运动造成的图像模糊
实验十、图像的几何变换
实验十一、二维离散傅里叶变换性质验证
实验十二、用领域平均法平滑彩色图像
实验十三、图像的伪彩色处理
专业文档
实验一、读取图像、显示图像和保存图像
一、实验目的和内容
1.通过本次实验,了解和熟悉matlab的实验环境,掌握图片的读取、显示、存储的方法。
2.利用imread()函数读取一幅图像,假设其名为lily.tif,存入一
个数组中。
3.利用imshow()函数来显示这幅图像。
二、实验原理(技术探讨)
1.在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
读取图像subplot(1,2,1),imshow(I)%输出图像
title('原始图像')%在原始图像中加标题
2.启动matlab双击桌面matlab图标启动matlab环境;
在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:
cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;
浏览源程序并理解含义;运行,观察显示结果;结束运行,退出
专业文档
三、实验程序及结果
1.实验程序
I=imread('实验一.jpg');
x=rgb2gray(I);
figure
(1)
subplot(1,2,1);
imshow(I);
title('原始图像');
subplot(1,2,2);
imshow(x);
title('灰度图像');
2.实验结果
专业文档
四、结果分析
通过本实验,我学会了用Matlab7.0对图像进行读取、存储、显示
的节本操作。
实验二、图像的灰度变换、取反和二值化处理
一、实验目的和内容
1.熟悉MATLAB软件开发环境,掌握读、写图像的基本方
法。
2.理解图像灰度变换在图像增强的作用,掌握图像的灰度线性变换和非线性变换方法。
3.掌握绘制灰度直方图的方法,掌握灰度直方图的灰度变
换及二值化的方法。
二、实验原理(技术探讨)
1.图像的灰度化处理的基本原理
将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。
彩
色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有
255中值可取,这样一个像素点可以有1600多万(255*255*255)的
颜色的变化范围。
而灰度图像是R、G、B三个分量相同的一种特殊的
彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理
专业文档
种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算
量变得少一些。
灰度图像的描述与彩色图像一样仍然反映了整幅图像
的整体和局部的色度和亮度等级的分布和特征。
图像的灰度化处理可
用两种方法来实现。
2.图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。
即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的
二值化图像。
在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。
为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。
所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。
如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选
取技术来分割该图像。
动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。
专业文档
三、实验程序及结果
1.实验程序
%二值化
I=imread('实验二
thresh=graythresh(I);
I1=im2bw(I,thresh);
imshow(I1)
.jpg'
);
%自动确定二值化值
%对图像二值化
learall;
f=imread('f'
figure
(1)
imshow(f);
figure
(2)
imhist(f);
ylim('auto'
g=histeq(f,256);
figure(3)
imshow(g);
figure(4)
imhist(g);
ylim('auto'
);
%绘制图象
);
);
f的直方图
%对f进行直方图均衡,输出图象的灰度级数为
256
A=imread('trees.tif'
figure
(1);
subplot(1,2,1);
imshow(A);
);
title(
'原图');
I=double(A);
h=[-1-1-1;-18-1;-1-1-1];
J=conv2(I,h,
'same'
);
K=uint8(J);
subplot(1,2,2);
imshow(K);
title('使用拉普拉斯算子锐化处理后的图');
2.实验结果
二值化
专业文档
专业文档
四、结果分析
通过这次的实验,经过广泛查阅书籍和有关知识,掌握了很多不知
道的知识,使我我对图像处理有了更深一步的了解。
同时我学到了灰
度级越多,图像保存的信息越多,在一定程度上减少灰度级不会明显
影响图像质量,但在灰度级过少的情况下图像会失真。
专业文档
实验三、直方图均衡化
一、实验目的和内容
编程实现下列功能:
读出存储的黑白灰度图象并显示,显示灰度
直方图,对图象进行直方图均衡化处理,显示处理后图象及直方图,
画出灰度变换曲线,并存储处理后图象。
二、实验原理(技术探讨)
方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集
中的某个灰度区间变成在全部灰度范围内的均匀分布。
直方图均衡化
就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围
内的像素数量大致相同。
直方图均衡化是一种自动调节图象对比度质
量的算法,使用的方法是灰度级变换:
s=T(r)。
它的基本思想是通过
灰度级r的概率密度函数,求出灰度级变换。
三、实验程序及结果
1.程序
clearall;
f=imread('cameraman.tif');%读入原图像
figure
(1)
imshow(f);
figure
(2)
imhist(f);%绘制图象f的直方图
ylim('auto');
g=histeq(f,256);%对f进行直方图均衡,输出图象的灰度级数为256
figure(3)
imshow(g);
figure(4)
专业文档
imhist(g);
ylim('auto');
A=imread('trees.tif');
figure
(1);
subplot(1,2,1);
imshow(A);
title('原图');
I=double(A);
h=[-1-1-1;-18-1;-1-1-1];
J=conv2(I,h,'same');
K=uint8(J);
subplot(1,2,2);
imshow(K);
title('使用拉普拉斯算子锐化处理后的图');
2.结果
专业文档
专业文档
四、结果分析
通过本次试验让我们看到直方图均衡化的效果,其实质就是通过
减少图像的灰度级以换取对比度的增大。
通过实验加深了我们对于课
本理论知识的理解和运用,提高了我们的学习效率和学习的积极性。
实验四:
图像锐化
一、实验目的和内容
1.掌握图像锐化的概念。
2.掌握Prewitt算子对图像进行锐化的原理、过程。
3.熟悉Matlab编程。
4.利用Prewitt算子对图像进行锐化处理。
5.掌握Maltab中和图像锐化相关的函数。
二、实验原理(技术探讨)
专业文档
图像锐化处理是改善图像视觉效果的手段,用来对图像的轮廓或
边缘进行增强,减弱或消除低分频率分量而不影响高频分量。
图像锐
化处理的主要技术体现在空域和频域的高通滤波,而空域高通滤波主
要用模版卷积来实现。
在图像处理中,一阶导数通过梯度来实现,因此利用一阶
导数检测边缘点的方法就称为梯度算子法。
梯度值正比于像
素之差。
对于一幅图像中突出的边缘区,其梯度值较大;在
平滑区域梯度值小;对于灰度级为常数的区域,梯度为零。
三、实验程序及结果
1.程序
A=imread('b.jpg');
figure
(1);
subplot(2,2,1);
imshow(A);
title('原图');
I=double(A);
h=[111;1-91;111];
J=conv2(I,h,'same');
K=uint8(J);
subplot(2,2,2);
imshow(K+A);
title('使用拉普拉斯算子锐化处理后的图');
B=double(A);
h=[0-10;-14-1;0-10];
T=conv2(B,h,'same');
E=uint8(T);
subplot(2,2,3);
imshow(-E+A);
title('使用拉普拉斯算子锐化处理后的图')
专业文档
C=double(A);
h=[-1-1-1;-18-1;-1-1-1];
D=conv2(C,h,'same');
F=uint8(D);
subplot(2,2,4);
imshow(-F+A);
title('使用拉普拉斯算子锐化处理后的图')
C=double(A);
h=[-1-1-1;-18-1;-1-1-1];
D=conv2(C,h,'same');
F=uint8(D);
subplot(2,2,5);
imshow(F);
title('使用拉普拉斯算子锐化处理后的图')
2.结果
专业文档
四、结果分析
通过本次试验我学到了数字图像处理中图像锐化应从水平和垂直
两个方向进行,最后的锐化结果由水平和垂直锐化结果共同得到。
锐
化结果一方面是模糊的图像变得清晰了,另一方面提取了目标物体的
边界,对图像进行分割。
锐化的图像质量有所改变,更适合观察。
实验五:
图像的平滑滤波
一、实验目的和内容
理解图象平滑的概念,掌握邻域平均技术及中值滤波技术。
进一步
加深理解和掌握平滑滤波的原理和具体算法,理解图象平滑滤波的处
理过程和特点。
二、实验原理(技术探讨)
邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺
寸越大,噪声减小的效果越显著。
如果是噪声点,其邻近像素灰度与
之相差很大,采用邻域平均法就是用邻近像素的平均值来代替它,这
样能明显消弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用。
因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方
法。
平滑方法是一种实用的图像处理技术,能减弱或消除图像中的高
频率分量,但不影响低频率分量。
因为高频率分量主要对应图像中的
区域边缘等灰度值具有较大较快变化的部分,平滑滤波将这些分量滤
专业文档
去可减少局部灰度起伏,使图像变得比较平滑。
实际应用中,平滑滤
波还可用于消除噪声,或者在提取较大目标前去除过小的细节或将目
标内的小间断连接起来。
它的主要目的是消除图像采集过程中的图像
噪声,在空间域中主要利用邻域平均法、中值滤波法和选择式掩模平
滑法等来减少噪声;在频率域内,由于噪声主要存在于频谱的高频段,
因此可以利用各种形式的低通滤波器来减少噪声。
三、实验程序及结果
1.程序
I=imread('count.jpg');%读入图像
J=imnoise(I,'gaussian',0,0.01);%加入高斯噪声subplot(2,2,1);
imshow(I);%输出加入了高斯噪声的图像
title('原始图像');
subplot(2,2,2);
imshow(J);
title('加入高斯噪声的的图像');
h=fspecial('average',3);
gd=imfilter(J,h);
subplot(2,2,3);
imshow(gd);
title('3*3模板均值滤波');
h=fspecial('average',4);
gd=imfilter(J,h);
subplot(2,2,4);
imshow(gd);
title('7*7模板均值滤波');
2.结果
专业文档
四、结果分析
通过本次实验我学到了邻域平均时用的模板尺寸越大,对噪声的消
除效果有所增强。
不过同时所得到的图像变得更为模糊,可视的细节
逐步减少。
首先对图像进行加噪,噪声是造成图像退化的重要因素之
一。
数字图像的噪声主要来源于图像获取和传输。
实验六:
图像的正交变换
一、实验目的和内容
1.了解傅立叶变换、离散余弦变换及其在图像处理中的应用
2.了解Matlab线性滤波器的设计方法
3.掌握离散傅里叶变换的实现方法,了解其幅度分布特性。
并用一低
专业文档
通频域滤波器实现对图像的平滑滤波。
4.了解频域滤波的内容,学会如何在频域中直接生成滤波器,包括平滑频域滤波器——低通滤波器、锐化频域滤波器——高通滤波器,并
利用生成的滤波器对输入图像进行频域处理。
二、实验原理(技术探讨)
快速傅里叶变换FFT的实现
一个大小为M×N的图像矩阵f的快速傅里叶变换FFT可以通过MATLAB函数fft2获得,其简单语法F=fft2(f)。
该函数返回一个大小仍为M×N的傅里叶变换,数据排列如图4.2(a)所示;即数据的原点在左上角,而四个四分之一周期交汇于频率矩形的中心。
傅里叶频谱可以使用函数abs来获得,语法为:
S=abs(F)。
该函数
计算数组的每一个元素的幅度,也就是实部和虚部平方和的平方根,
即若某个元素为F=a+bj,则22Sab。
通过显示频谱的图像进行可视化
分析是频域处理的一个重要方面。
例如,图像f(image.bmp)我们计
算它的傅里叶变换并显示其频谱:
>>F=fft(f)
>>S=abs(F)
>>imshow(S,[])
三、实验程序及结果
1.程序
a=imread('图像锐化.jpg');
b=fftshift(fft2(a));
figure
专业文档
subplot(1,2,1),imshow(a),title('原始图像');
subplot(1,2,2),imshow(b),title('离散傅里叶频谱');
c=rgb2gray(a);%转化为灰度图像
d=dct2(c);
d(abs(d)<10)=0;%将DCT结果中绝对值小于10的令为0,相当于压缩
了数据率(门限为10)
e=idct2(d)/255;%DCT反变换重建图像
figure
subplot(1,3,1),imshow(c),title('原始灰度图像');
subplot(1,3,2),imshow(log(abs(d)),[]),title(
'余弦变换');
subplot(1,3,3),imshow(e),title(
'门限为
10的反余弦变换');
2.结果
专业文档
四、结果分析
通过这次试验我对傅立叶变换、离散余弦变换及其在图像处理中的
应用有了更深的认识。
了解了Matlab线性滤波器的设计方法,并对
fft2、colormap、fftshift、dct2、idct2等函数的使用有了一定的
了解。
专业文档
实验七:
高频强调滤波增强图像
一、实验目的和内容
使用高通滤波器滤波,然后进行高频强调、直方图均衡等处理增强
图像并比较结果。
二、实验原理(技术探讨)
频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通
滤波器和高通滤波器。
频域低通过滤的基本思想:
G(u,v)=F(u,v)H(u,v)。
F(u,v)是需要钝化图像的傅立叶变换形式,
H(u,v)是选取的一个低通过滤器变换函数,G(u,v)是通过H(u,v)减
少F(u,v)的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。
n阶巴特沃兹低通滤波器(BLPF)(在距离原点D0处出现截至频率)
的传递函数与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递
函数并不是在D0处突然不连续。
相应的高通滤波器也包括:
理想高通滤波器、n阶巴特沃兹高通滤
波器、高斯高通滤波器。
给定一个低通滤波器的传递函数,通过使用
如下的简单关系,可以获得相应高通滤波器的传递函数。
三、实验程序及结果
1.程序
I=imread('实验七.jpg');
专业文档
I=rgb2gray(I);
figure
(1),imshow(I);
title('原图像');
s=fftshift(fft2(I));
figure
(2);
imshow(abs(s),[]);
title('图像傅里叶变换所得频谱');
figure(3);
imshow(log(abs(s)),[]);
title(
'图像傅里叶变换取对数所得频谱
');
[a,b]=size(s);
a0=round(a/2);
b0=round(b/2);
d=10;
p=0.2;q=0.5
fori=1:
a
forj=1:
b
distance=sqrt((i-a0)^2+(j-b0)^2);
ifdistance<=dh=0;
elseh=1;
end;
s(i,j)=(p+q*h)*s(i,j);
end;
end;
s=uint8(real(ifft2(ifftshift(s))));
figure(4);
imshow(s);title(
'高通滤波所得图像
');
figure(5);
imshow(s+I);title(
'高通滤波所得高频增强图像
')
2.结果
专业文档
专业文档
专业文档
四、结果分析
这次实验按照低通滤波器和高通滤波器的定义,按照低通滤波的过
程,一步一步写先是进行傅里叶变换,再对其频谱进行平移,使其中
心位于中心,再对此时的频谱进行‘圆形滤波’,刚开始纠结于公式,
要怎么想出一个H(s)的滤波器的表达式,然后再进行相乘,后来
没有想出来,就直接在每次循环里面直接进行乘法运算。
专业文档
实验八陷波滤波器增强图像
二、实验目的和内容
在原图叠加周期性干扰,使用陷波器滤除干扰,显示滤波后的图像
掌握巴特沃斯陷波滤波器的设计。
进一步加深理解和掌握图像频谱的
特点和陷波滤波的原理。
理解图像陷波滤波的处理过程和特点。
三、实验原理(技术探讨)
陷波滤波器也用于去除周期噪声,虽然带阻滤波器也能可以去除周期
噪声,但是带阻滤波器对噪声以外的成分也有衰减。
而陷波滤波器主要
对,某个点进行衰减,对其余的成分不损失。
从空间域内看,图像存在
着周期性噪声。
其傅里叶频谱中,也能看到噪声的所在之处。
如果使用
带阻滤波器的话,是非常麻烦的,也会使得图像有损失。
陷波滤波器,
能够直接对噪声处进行衰减,可以有很好的去噪效果
四、实验程序及结果
1.程序
close
all;
figure();
subplot(1,2,1);
imshow(f,[01]);
xlabel('a).OriginalImage'
);
subplot(1,2,2);
imshow(log(1+abs(F)),[]);
xlabel('b).Fourierspectrumofa'
);
figure();
subplot(1,2,1);
imshow(H_NF,[01]);
专业文档
xlabel(
'c).ButterworthNotchfilter(D=30n=2)'
);
subplot(1,2,2);
h=mesh(1:
10:
Q,1:
10:
P,H_NF(1:
10:
P,1: