2015大全
数字图像处理课程设计报告
课程名称 数字图像处理与Matlab 专 业 班 级 学 号 姓 名 指导教师
年11月6日
标准文案
实验一 数字图像的基本操作和灰度变换
一、 实验目的
1. 了解数字图像的基本数据结构
2. 熟悉Matlab中数字图像处理的基本函数和基本使用方法 3. 掌握图像灰度变换的基本理论和实现方法 4. 掌握直方图均衡化增强的基本理论和实现方法
二、 实验原理与方法
1. 图像灰度的线性变换
灰度的线性变换可以突出图像中的重要信息。通常情况下,处理前后的图像灰度级是相同的,即处理前后的图像灰度级都为[0,255]。那么,从原理上讲,我们就只能通过抑制非重要信息的对比度来腾出空间给重要信息进行对比度展宽。
g(i,j) 255 gb ga 0
fa
fb 255
f(i,j)
图1.1 对比度线性变换关系
设原图像的灰度为f(i,j),处理后的图像的灰度为g(i,j),对比度线性展宽的原理示意图如图1.1所示。假设原图像中我们关心的景物的灰度分布在[fa,
fb]区间内,处理后的图像中,我们关心的景物的灰度分布在[ga,gb]区间内。
在这里g(gbga)f(fbfa),也就是说我们所关心的景物的灰度级得到了展宽。根据图中所示的映射关系中分段直线的斜率我们可以得出线性对比度展宽的计算公式:
f(i,j), 0f(i,j)fa
faf(i.,j)fb (1-1)
g(i,j) (f(i,j)fa)ga,
大全
标准文案
(f(i,j)fb)gb,
fbf(i,j)255
(i1,2,3,m;j1,2,3,n) 其中,gagbga255gb,,,图像的大小为m×n。 fafbfa255fb2. 直方图均衡化
直方图均衡化是将原始图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。
离散图像均衡化处理可通过变换函数:
kn jsT(r)kk
j0n来实现
三、实验内容与步骤
1.熟悉MATLAB语言中数字图像处理函数的使用。 2. 图像灰度线性变换的实现
1)读入一幅灰度图像test1.tif,显示其灰度直方图 2)根据图像灰度直方图,选择所关心的图像景物的灰度分布范围[fa,fb],以及拟变换的灰度分布范围[ga,gb]
3)实现对图像的灰度线性变换 4)调整,,的值,观察对处理结果的影响。
3. 图像的均衡化处理
1)读入一幅灰度图像test2.tif,求出其直方图 2)利用Matlab函数实现图像的均衡化处理 3)同屏显示处理前后的图像和灰度直方图,说明处理前后直方图的变化以及对应的灰度变化
四、程序代码
1、图像灰度线性变换的实现
I=imread('D:\\Matlab\\work\\imagines\est1.jpg'); figure(1);
subplot(1,3,1);imshow(I);title('原始图像'); subplot(1,3,2);imhist(I);title('灰度直方图'); I=double(I); [M,N]=size(I); for i=1:M
for j=1:N
if I(i,j)<=30
I(i,j)=I(i,j); elseif I(i,j)<=150
大全
标准文案
I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30; else
I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200; end end end
subplot(1,3,3);imshow(uint8(I));title('灰度线性变化图像');
2、图像的均衡化处理
I=imread('D:\\Matlab\\work\\imagines\est2.jpg'); figure(1);
subplot(2,2,1);imshow(I);title('原始图像'); subplot(2,2,2);imhist(I);title('灰度直方图'); I1=histeq(I);
subplot(2,2,3);imshow(I1);title('图像均衡化处理'); subplot(2,2,4);imhist(I1);title('灰度直方图');
五、实验结果
1、图像灰度线性变换的实现
分析:从灰度直方图可以知道,主要分布于较暗区域,导致图像亮度偏暗。采用灰度线性变化后,与原图对比可以提高了亮度,使边缘突出。
大全
标准文案
2、图像的均衡化处理
分析:采用了均衡化处理后,使灰度级均衡分布于[0,255],明显把亮度拉伸了。
六、思考问题
1.在映射关系中,分段直线的斜率的大小对图像处理结果有哪些影响? 答:为了突出感兴趣的目标或灰度区间,相对抑制那些不感兴趣的灰度区间,可采用分段线性变换。 设原图像f(x,y)在[0,Mf], 感兴趣目标的灰度范围在[a,b],欲使其灰度范围拉伸到[c,d],则对应的分段线性变换表达式为
(c/a)f(x,y)0f(x,y)ag(x,y)[(dc)/(ba)][f(x,y)a]caf(x,y)b[(Md)/(Mb)][f(x,y)b]dbf(x,y)Mfgf
通过调整折线拐点的位置及控制分段直线的斜率,可对任一灰度区间进行拉伸或压缩。
2. 直方图均衡化适用于什么形式的灰度分布情形?
答:原图较暗且动态范围小,在直方图中的表现是直方图灰度范围窄且
集中在低灰度值区域。
大全
标准文案
实验二 图像的空间域增强
一、 实验目的
1. 熟悉图像空间域增强方法,掌握增强模板使用方法
2. 掌握均值滤波器、中值滤波器的理论基础和实现方法 3. 掌握图像锐化的基本理论和实现方法 4. 验证图像滤波处理结果
二、 实验原理与方法
图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”信息,削弱或去除不需要的信息,以改善图像的视觉效果,或突出图像的特征,便于计算机处理。图像增强可以在空间域进行,也可以在频率域中进行。
空间域滤波主要利用空间模板进行,如33,55模板等。
一般来说,使用大小为m×n 的滤波器对大小为M×N 的图像f进行空间滤波,可表示成:
其中,m=2a+1, n=2b+1, (,)是滤波器系数,(,)是图像值 均值滤波器是一种空间平滑滤波器,它是对包含噪声的图像上的每个像素点,用它邻域内像素的平均值替代原来的像素值。
例如,采用一个3×3的模板,待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1)
g(i,j)=1/9*(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j)+
f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1));
中值滤波器也是一种空间平滑滤波器,它是对以图像像素点为中心的一个滑动窗口内的诸像素灰度值排序,用中值代替窗口中心像素的原来灰度值,因此它是一种非线性的图像平滑法。
采用Laplacian锐化算子进行图像边缘的锐化,是采用二阶差分运算获得像素间的差异值,由此,获得对图像景物边界的锐化。Laplacian也可以算子也可以写成是模板作用的方式,如下:
设待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1),则 g(i,j)=4*f(i,j) -(f(i-1,j-1)+f(i,j-1)+f(i,j+1)+f(i+1,j)); 常用的锐化算子还有Roberts、Prewitt和Sobel算子等
三、实验内容与步骤
1.读入一幅256×256 大小、256 级灰度的数字图像test3 2. 图像的平滑滤波处理
1)对原图像分别加入高斯噪声、椒盐噪声。 2)利用邻域平均法,分别采用33,55模板对加噪声图像进行平滑处理,显示原图像、加噪图像和处理后的图像。 3)利用中值滤波法,分别采用33,55模板对加噪声图像进行去噪处理,显示原图像、加噪图像和处理后的图像。
大全
标准文案
4)比较各种滤波方法和滤波模板的处理结果 3. 图像的锐化处理
1)利用Laplacian 锐化算子(α=-1)对256×256 大小、256 级灰度 的数字图像test4进行锐化处理,显示处理前、后图像。 2) 分别利用Roberts、Prewitt 和Sobel 边缘检测算子,对数字图像test4 进行边缘检测,显示处理前、后图像。
四、实验代码
1、图像的平滑滤波处理
I=imread('D:\\Matlab\\work\\imagines\est3.gif'); J=imnoise(I,'salt & pepper',0.02); K=imnoise(I,'gaussian',0,0.01); h1=fspecial('average',3); h2=fspecial('average',5); K2=imfilter(K,h1); K3=imfilter(K,h2); J2=imfilter(J,h1); J3=imfilter(J,h2); K4=medfilt2(K,[3 3]); K5=medfilt2(K,[5 5]); J4=medfilt2(J,[3 3]); J5=medfilt2(J,[5 5]);
figure(1);
subplot(3,2,1);imshow(I);title('原始图像'); subplot(3,2,2);imshow(K);title('高斯噪声');
subplot(3,2,3);imshow(K2);title('3*3领域平均法'); subplot(3,2,4);imshow(K3);title('5*5领域平均法'); subplot(3,2,5);imshow(K4);title('3*3中值滤波'); subplot(3,2,6);imshow(K5);title('5*5中值滤波');
figure(2);
subplot(3,2,1);imshow(I);title('原始图像'); subplot(3,2,2);imshow(J);title('椒盐噪声');
subplot(3,2,3);imshow(J2);title('3*3领域平均法'); subplot(3,2,4);imshow(J3);title('5*5领域平均法‘); subplot(3,2,5);imshow(J4);title('3*3中值滤波'); subplot(3,2,6);imshow(J5);title('5*5中值滤波');
2、图像的锐化处理
L=imread('D:\\Matlab\\work\\imagines\est4.gif'); h3=fspecial('laplacian',0.2); L2=imfilter(L,h3);
大全
标准文案
L3=edge(L,'sobel'); %sobel L4=edge(L,'prewitt');%prewitt L5=edge(L,'roberts');%roberts figure(3);
subplot(3,2,[1,2]);imshow(L);title('原始图像'); subplot(3,2,3);imshow(L2);title('拉普拉斯'); subplot(3,2,4);imshow(L3);title('Sobel'); subplot(3,2,5);imshow(L4);title('Prewitt'); subplot(3,2,6);imshow(L5);title('Roberts');
五、实验结果
1、高斯图像的滤波处理
分析:领域平均算法简单,可减小图像灰度的“尖锐”变化,减小噪声。但它在降低噪声的同时使图像产生模糊,特别在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。
2、椒盐图像的滤波处理
大全
标准文案
分析:它对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多的图像却不太合适。
对中值滤波法来说,正确选择窗口尺寸的大小是很重要的环节。一般很难事先确定最佳的窗口尺寸,需通过从小窗口到大窗口的中值滤波试验,再从中选取最佳的。
3、图像的锐化处理
大全
标准文案
分析:Prewitt和Sobel算子是计算数字梯度时最常用的算子。Prewitt模板比Sobel模板简单,但Sobel模板能够有效抑制噪声。拉普拉斯对噪声敏感, 常产生双像素宽的边缘,无方向性。
六、思考问题
1.采用均值滤波、中值滤波,对高斯噪声和椒盐噪声的抑制哪种比较有效? 答:均值滤波,可减小图像灰度的“尖锐”变化,减小噪声。但它在降低噪声的同
时使图像产生模糊,特别在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。
中值滤波法,能有效削弱椒盐噪声,且比邻域、阈值平滑法更有效。它对脉冲干扰及
椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多的图像却不太合适。
2.模板大小的不同,所处理效果有何不同?为什么?
答:对中值滤波法来说,正确选择窗口尺寸的大小是很重要的环节。一般很难事先确定最佳的窗口尺寸,需通过从小窗口到大窗口的中值滤波试验,再从中选取最佳的。
大全
标准文案
实验三 图像的傅里叶变换和频域处理
一、 实验目的
1. 熟悉图像空间域和频率域的关系,掌握快速傅里叶变换
2. 掌握离散傅里叶变换的性质和应用
二、 实验原理与方法
图像既能在空间域处理,也能在频率域处理。把图像信息从空域变换到频域,可以更好地分析、加工和处理
二维离散傅立叶正变换的表达式为
uxvyM1N1j2() MNF(u,v)f(x,y)e x0y0逆变换为: u0,1,2,,M1;v0,1,2,,N1uxvy j2()1M1N1f(x,y)F(u,v)eMN MNu0v0 x0,1,2,,M1y0,1,2,,N1二维离散傅立叶变换具有若干性质,如:线性性、平移性、可分离性、周期性、共轭对称性、旋转不变性等。
可利用离散傅里叶变换,将信号从空间域变换到频率域,在频率域选择合适的滤波器H(u,v)对图像的频谱成分进行处理,然后经逆傅立叶变换得到处理图像,实现图像处理结果。
三、实验内容与步骤
1.产生一幅如图所示亮块图像f(x,y)(256×256 大小、暗处=0,亮处=255),对其进行FFT:
(1)同屏显示原图f 和FFT(f)的幅度谱图;
(2)若令f1(x,y)=(-1)x+y f(x,y),重复以上过程,比较二者幅度谱的异同,简述理由;
(3)若将f1(x,y)顺时针旋转45 度得到f2(x,y),试显示FFT(f2)的幅度谱,并与FFT(f2)的幅度谱进行比较。
2. 对256×256 大小、256 级灰度的数字图像test5进行频域的理想低通、高通滤波滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。
四、实验代码 1、黑白图像
I=imread('D:\\Matlab\\work\\imagines\\3_1.tif'); figure(1);
subplot(2,2,1);imshow(I);title('原始图像'); F=double(I);
g=fftshift(fft2(F));
subplot(2,2,2);imshow(log(abs(g)),[]),color(jet());title('傅里叶图像');
J=imrotate(I,45,'bilinear');
subplot(2,2,3);imshow(J);title('顺时针旋转45');
大全
标准文案
F2=double(I); g2=fftshift(fft2(F2));
subplot(2,2,4);imshow(log(abs(g2)),[]),color(jet());title('傅里叶频谱');
2、频域的理想低通、高通滤波滤波
I=imread('D:\\Matlab\\work\\imagines\est5.gif'); subplot(3,2,1);imshow(I);title('原始图像'); [f1,f2]=freqspace(size(I),'meshgrid'); Hd=ones(size(I)); r=sqrt(f1.^2+f2.^2);
I=double(I); f=fft2(I); g=fftshift(f);
subplot(3,2,2);imshow(log(abs(g)),[]),color(jet());title('傅里叶变换');
[M,N]=size(f); n1=floor(M/2); n2=floor(N/2); d0=50; for i=1:M for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2); if d<=d0 h=1; else h=0; end
g(i,j)=h*g(i,j); end end
g=ifftshift(g); g=uint8(real(ifft2(g)));
subplot(3,2,3);imshow(g);title('低通滤波后的图像'); G=double(g); f2=fft2(G); g2=fftshift(f2);
subplot(3,2,4);imshow(log(abs(g2)),[]),color(jet());title('傅里叶图像');
Hd(r<0.1)=0; Y=fft2(I); Y=fftshift(Y); Y1=Y.*Hd; Y1=ifftshift(Y1);
大全
标准文案
Ia=ifft2(Y1);
subplot(3,2,5);imshow(uint8(Ia));title('高通滤波后的图像'); Ia=double(uint8(Ia)); f3=fft2(Ia); g3=fftshift(f3);
subplot(3,2,6);imshow(log(abs(g3)),[]),color(jet());title('傅里叶频谱');
五、实验结果
1、黑白图像
分析:变换后图像的四个对角附近对应于频谱的低频成分,部分对应于高频成分。
2、频域的理想低通、高通滤波滤波
大全
标准文案
分析:由于噪声主要集中在高频部分,为去除噪声改善图像质量,滤波器采用低通滤波器H(u,v)来抑制高频成分,通过低频成分,达到平滑图像的目的。 低通滤波器特性是连续性衰减,不同于理想滤波器那样陡峭变化,没有明显的截断。
频率域锐化是为了消除模糊,突出边缘。因此采用高通滤波器让高频成分通过,使低频成分削弱,再经逆傅立叶变换得到边缘锐化的图像。
大全
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务