收藏 分享(赏)

《数字图像处理实验(E000314)》作业.doc

上传人:dzzj200808 文档编号:2723770 上传时间:2018-09-26 格式:DOC 页数:24 大小:1.15MB
下载 相关 举报
《数字图像处理实验(E000314)》作业.doc_第1页
第1页 / 共24页
《数字图像处理实验(E000314)》作业.doc_第2页
第2页 / 共24页
《数字图像处理实验(E000314)》作业.doc_第3页
第3页 / 共24页
《数字图像处理实验(E000314)》作业.doc_第4页
第4页 / 共24页
《数字图像处理实验(E000314)》作业.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、2014-3-31 1南京航空航天大学研究生实验报告实验名称:数字图像处理实验编号:E000314 姓 名:张雪婷 学 号:SZ1303010 专 业:仪器仪表工程 时 间: 2014/03/31 2014-3-31 2实验一 图像增强 1图像灰度变换(实验图像 图像增强.bmp )1)实验内容及要求灰度变换就是通过线性变换对图像进行处理。灰度变换可使图像动态范围变大,对比度扩展,图像清晰,特征明显,是图像增强的重要手段。在爆光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内,这时将看到一个模糊不清、没有灰度层次的图像。用一个线性单值函数,对帧内的每一个像素作线性扩展,将有效的改善图像

2、的视觉效果。令原图像 f( i,j )的灰度范围为a, b,线性变换后图像 g( i,j )的范围为c,d, f( i,j )与 g( i,j )存在下列关系:g( i,j ) = c + ( d c )/ ( b a )*( f a )图(a ) 图像增强原始图像2)算法描述及程序根据原理公式,改变 c 和 d 的值。function digpicclc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);subplot(2,2,1),imshow(f);title(实验一原始图像);f1=double(f);a=min(min(

3、f1);%a=73b=max(max(f1);%b=181c=0;d=255.0;g11= c + ( d - c )/ ( b - a )*( f1 - a );subplot(2,2,2)g1=uint8(g11);imshow(g1);title(c=0,d=255);c1=127.0;d1=128.0;g12= c1 + ( d1- c1 )/ ( b - a )*( f1 - a );subplot(2,2,3)g2=uint8(g12);imshow(g2);title(c=127,d=128);2014-3-31 3c2=255.0;d2=0;g13= c2 + ( d2- c2

4、 )/ ( b - a )*( f1 - a );subplot(2,2,4)g3=uint8(g13);imshow(g3);title(c=255,d=0);3)实验结果和分析图(b) 图像灰度化结果对比图从实验结果来看,原始图像的 a=73,b=181,是固定值。线性单值函数中的 c 初值取0,d 取初值 255,二者取值范围均在0,255,改变 c 和 d 的取值范围,会发现 c 和 d 的取值差别越大,也就是灰度域区间越宽,对比度越大。将灰度域扩展到0,255,对比度最好。实验一 图像增强 2直方图均衡化(实验图像 图像增强.bmp )1)实验内容及要求直方图均衡化通过将图像的原始灰

5、度分布均匀散布于整个可能允许的灰度分布空间,以拉大灰度值之间的动态范围,而在视觉上增强图像的整体对比度。如果将一幅灰度分布如图 1( a )所示的图像的直方图变换为如图 1( b )所示的形式,并以此具有均衡特性的直方图去映射修正图像灰度分布,则修正后的图像将比原图像协调。这一过程即为直方图均衡化。2014-3-31 4( a ) ( b )图 1 直方图均衡化对于离散图像,第 i 个灰度级出现的频数用 ri 表示,该灰度级像素对应的概论值 Pr(ri)为:Pr(ri) = ni/n n 是帧内像素总数,满足归一化条件。可以写出离散图像的变换函数表达式: 式中,k 为灰度级数。由以上可知,直方

6、图均衡化的步骤为:( 1 ) 统计出各灰度级的像素个数。( 2 ) 计算出灰度分布概率密度。( 3 ) 计算累计灰度分布密度。( 4 ) 通过下式计算出灰度级在均衡化前后的映射关系。其中,N 为灰度级数,T 为第三步计算出的累计灰度分布密度; 为取整运算。 (N-1)*T+0.5 ( 5 ) 根据上步计算出的结果得出均衡后得灰度分布。2)算法描述及程序根据要求给出的过程编写如下程序:function zhifangtuclc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);FX=f;subplot(2,2,1);imshow(f

7、);title(原始 图像);subplot(2,2,2);imhist(f);title(原始 图像直方图);%求累计概率,个数 N1,概率 L2,累计分布 L3, 图像灰度级 L m,n=size(f); % 确定像素点的行列,m=182,n=250N1,L1=imhist(f);2014-3-31 5L=length(L1);% L=256L2=N1/(m*n);% 求概率L3(1)=L2(1);%累计分布for i=2:LL3(i)=L3(i-1)+L2(i);end%计算新的灰度级new_hl=fix(L-1)*L3+0.5);%根据实验提供的公式取整计算新的灰度值for j=1:L

8、if new_hl(j)=L1(j)FX(find(f=L1(j)=new_hl(j);endendsubplot(2,2,3);imshow(FX);title(图 像均衡化);subplot(2,2,4);imhist(FX);title(直方 图均衡化);3)实验结果及分析图(c) 图像均衡化对比图 通过实验结果可以看出,原图像的灰度级集中在50,200,图像模糊,对比度不够明显,经过直方图均衡化之后,灰度级拓宽至0,255,得到的图像对比度较为强烈,效果很好。实验二 图像滤波 1邻域平均 (实验图像 图像滤波.bmp )2014-3-31 61)实验内容及要求任何一幅未经处理的原始图像

9、,都存在着一定程度的噪声干扰。噪声恶化了图像质量,使图像模糊,甚至淹没特征,给分析带来困难。消除噪声的工作称之为图像平滑(Smoothing)或滤波。平滑的目的在于消除混杂在图像中的干扰,改善图像质量,强化图像表现特征。由于噪声源众多,平滑方法也多种多样,邻域平均法是最常见的方法。令被讨论的像素的灰度值为 F( i,j ),以其为中心,窗口像素组成的点集以A 表示,集内像素以 L 表示,经邻域平均法滤波后,像素 F( i,j ) 对应的输出为:即用窗口像素的平均值取代 F( i,j )原来的灰度值。本例中采用 8 点邻域处理,L=9,其邻域为:A=(i-1,j-1),(i-1,j), (i-1

10、,j+1), (i,j-1), (i,j), (i,j+1), (i+1,j-1), (i+1,j), (i+1,j+1)在实际处理中可以采用模板卷积运算,如:1 1 1 1 2 1 1 1 1 2 4 2 1 1 1 1 2 1 第一个模板功能等于邻域平均法,第二个模板是通过采样二维高斯函数得到的,又称作高斯模板,在图像处理中应用比较广泛。图 2 Lena 图的平滑效果与原图的比较图 2 为 Lena 的平滑效果,从处理后图像可以看出,图像的细节部分均被做了模糊处理。2)算法描述及程序原始图像受到高斯干扰,不能够清晰显示,选取 8 个与待处理像素点的灰2014-3-31 7度差最小的点,取其

11、均值来代替原来的灰度值。function zhifangtuclc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);subplot(2,2,1);imshow(f);title(原始图像);m,n=size(f);%m是行数,n是列数L=9;for i=2:m-1for j=2:n-1formatm=f(i-1:i+1,j-1:j+1);q=sort(sort(formatm(:);%对九个点排序f(i,j)=round(sum(q(1:L)./L);%取平均,并四舍五入endendsubplot(2,2,2);imshow(f

12、);title(邻域滤波1); L=25;for i=3:m-2for j=3:n-2formatm=f(i-2:i+2,j-2:j+2);q=sort(sort(formatm(:);f(i,j)=round(sum(q(1:L)./L);endendsubplot(2,2,3);imshow(f);title(邻域滤波2); L=49;for i=4:m-3for j=4:n-3formatm=f(i-3:i+3,j-3:j+3);q=sort(sort(formatm(:);f(i,j)=round(sum(q(1:L)./L);endendsubplot(2,2,4);imshow(f

13、);title(邻域滤波3); 2014-3-31 83)实验结果及分析图(d)邻域滤波结果对比从实验所得到的图片来看:邻域平均法实现很方便,适于消除图像中的颗粒噪声,但需要指出这种方法既平滑了图像信号,同时使图像的细节部分变得模糊。根据要求,本实验按要求采用的是 L=9 的邻域滤波。除此之外,在做了L=25、L=49 对比实验(如图(d)的 1,2,3) ,邻域平均法消弱了图像的边缘,但是使图像变得有些模糊,而且可视范围内,窗口取得越大,平滑效果越好,但是图像也越模糊。实验二 图像滤波 2频域滤波 (实验图像 图像滤波.bmp )a)实验内容及要求类似于空间域,在频率城内同样也可以进行滤波和

14、边缘检测。前者采用低通滤波器和同态滤波器,后者一般借用高通滤波器实现。在傅里叶变换域,变换系数反映了图像的某些特征。如频谱的直流低频分量对应于图像的平滑区域,而外界叠加噪声对应于频谱中频率较高的部分。变换域具有的这些内在特性常被用于图像增强,如构造个低通滤波器,使低频分量顺利通过并有效地阻止高频分量,即可滤除频域中高频部分的噪声,再经逆变换,就可以得到平滑图像。频域法的基本途径是对图像 f(x,y)进行傅里叶变换得到频谱 F(u,v)。然后根据增强图像的要求设计适当的传递函数 H(u,v),输出图像的频谱 G(u,v)经过传递函数的相乘修改原图像的频谱而得到,最后再把该图像频谱 G(u,v)进

15、行逆傅里叶变换,便获得增强后的输出图像 g(x,y)。滤波系统的传递函数H(u,v),可根据需要对不同的频率区域设置不同的参数。理想圆形低通滤波器:它是一个在傅里叶平面上半径为 D。的圆形滤波器,其传递函数为2014-3-31 9式中 D0 为截止频率,D(uv)是点(uv) 到傅里叶平面原点的距离。理论上说、 Do半径内的频率分量无损通过而圆外的频率分量会被滤除。若滤除的高额分量中含有大量的边缘信息,将会发生图像边缘模糊的现象。巴特沃思低通滤波器:b)算法描述及程序对图像进行傅里叶变换,设计低通滤波传递函数,调整传递函数,选择合适的滤波器,对图像做傅里叶反变换。function frefil

16、terclc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);subplot(2,2,1);imshow(f);title(原始图像);f1=double(f);f2=fft2(f1);subplot(2,2,2);imshow(f2);title(傅里叶变换后的图像);g=fftshift(f2); %转换数据矩阵 M,N=size(g);nn=2; % 二阶巴特沃斯(Butterworth)d0=80;m=fix(M/2); n=fix(N/2);for i=1:M for j=1:Nd1=sqrt(i-m)2+(j-n)2

17、);h1=1/(1+4.2*(d1/d0)(2*nn); % 计算低通滤波器传递函数result1(i,j)=h1*g(i,j);endendresult1=ifftshift(result1);subplot(2,2,3);2014-3-31 10imshow(result1);title(低通滤波后傅里叶图);J2=ifft2(result1);J3=uint8(real(J2);subplot(2,2,4),imshow(J3);title(低通滤波图 ); % 显示滤波处理后的 图像 c)实验结果及分析图(e )频域滤波由低通滤波结果来看,滤波器大致可以滤除原始噪点,但是图像的边缘产生

18、了模糊,这是由于巴特沃夫低通滤波器本身特点决定的,巴特沃斯滤波器在通频带内外都有平稳的幅频特性,但有较长的过渡带,在过渡带上很容易造成失真。实验二 图像滤波 3中值滤波 (实验图像 图像滤波.bmp )中值滤波(Median filtering)是一种非常有用的非线性信号处理方法,在一定程度上可以克服采用诸如邻域均值滤波等线性低通滤波器消除噪声时,会将图像边缘模糊掉的缺点。中值滤波尤其对图像中的脉冲噪声、扫描噪声等能有良好的去除效果,但是对含有过多细节的图像,处理效果一般不好。中值滤波器根据器计算方法,可以称为非线性滤波器中的排序统计滤波器,它不是简单的加权求和,而是先把邻域像素按灰度级进行排

19、序,然后再选择该组的中值作为模板输出结果。由于中值滤波在算法设计上使与周围像素灰度级相差较大的点处理后能和周围的像素值比较接近,因此可以衰减随机噪声,尤其是脉冲噪声等。但由于不是简单的取均值,因此产生的模糊要少得多。图 3 为中值滤波器得一维应用示例,其中图(a)为一叠加有 1/4 采样频率正弦震荡得离散信号序列,在 3 点邻域中进行中值滤波,在得到得处理结果(b)中,完全消除了正弦波的干扰,而且保留了边界。2014-3-31 11( a ) ( b )图 3 中值滤波2)算法描述及程序中值滤波由于需要对邻域所有像素按灰度级进行排序之后得到模板输出结果,因此在计算速度上要比模板卷积慢。为了加快

20、处理速度,在程序设计时采用“冒泡”排序法排序。实验选取的是 3*3 模板。function zxtmedfilterclc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);FX=f;subplot(1,2,1);imshow(f);title(原始图像);s=3;m, n=size(f); %图像尺寸f1=double(f); f2=f1; for i=1:m-s+1 for j=1:m-s+1 c=f1(i:i+(s-1),j:j+(s-1); e=c(1,:); %是c 矩阵的第一行 for u=2:s e=e,c(u,:)

21、; %将c矩阵变为一个行矩阵 end mm=median(e); f2(i+(s-1)/2,j+(s-1)/2)=mm; end end d=uint8(f2);subplot(1,2,2);imshow(d);title(中值滤波);3)实验结果及分析2014-3-31 12图(f)中值滤波对比图实验三 图像分割 1二值化 (实验图像 图像分割.bmp)a)实验内容及要求图像的二值化处理是图像分割的结果,是对图像进一步进行识别、理解的基础,图像 f(m,n)二值化处理可用下式表示:AX01),(上式中的 X 是像素(m,n)的特征或特性。图像的二值化处理就是设置一个阀值,凡图像灰度值大于等于

22、阀值的归为一类,其余的归为一类。由于是通过阀值来定义了图像中不同目标的区域归属,因此选取合适的阀值就显得至关重要。通过阀值迭代的方式可以通过程序自动搜寻出比较合适的阀值。此阀值选取方法先用初始的开关函数把原图全部像素分成前景、背景两大类,然后分别对其进行积分并将结果取平均以获得一新的阀值,之后再次按此阀值控制开关将图像分成前景、背景,并用做新的开关函数。如此反复迭代下去,当开关函数不再发生变化,即迭代已经收敛于某个固定的阀值时,此刻的阀值即作为最终的结果并用于图像的分割。下面是对上述文字的数学表达:其中,L 为灰度级的个数,h k 是灰度值为 k 的像素点的个数。在程序设计时,首先求灰度值为

23、k 各像素的个数,并以 T1,T2 为迭代阀值,2014-3-31 13每迭代一次,都判断 T1 是否 T2,直至相等。具体请参见附录。图 4 为经过迭代阀值法二值化的图像,二值化后的图像还可以看出原图的轮廓。图 4 二值化图像b)算法描述及程序function erzhihua2clc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);subplot(2,2,1);imshow(f);title(原始图像);m=max(max(f(:);n=min(min(f(:);T=(m+n)/2;%所设计的阈值%定义开关变量,用于控制循环

24、次数ff=true;%迭代法计算阈值while ffg1=f=T;g2=f=1;%比较两次的阈值,直至阈值差绝对值小于 1,停止循环T=t;endT=abs(floor(T)/255;J=im2bw(f,T);%阈值分割2014-3-31 14subplot(2,2,2);str=迭代分割法:Threshold= ,num2str(T*255);imshow(J);title(str);c)实验结果及分析图(g) 二值化对比图迭代法进行阈值分割,选取的合适的阈值是 0.42745,从右子图来看,前景较好得被分离出来。实验三 图像分割 2图像边缘检测(实验图像 边缘检测.bmp )a)实验内容及

25、要求在图像处理中常需要突出边缘和轮廓信息,以便于对目标分割识别和处理。图像锐化(Sharpening) 就是增强图像的边缘和轮廓。如果说图像平滑通过积分使图像边缘模糊,那么,图像锐化就是通过微分而使边缘轮廓突出、清晰。因为微分运算可用来求信号的变化,所以具有加强高频分量的作用,可使图像轮廓清晰。这里介绍用梯度算子进行图像锐化。梯度是图像处理中最常用的一种方法,对图像函数 F( i ,j ),在其点上的梯度矢量定义为:GF(i,j)的幅度为:2014-3-31 15对离散图像而言,可用差分近似表示上式,一种常用的近似关系式为:GF(i,j)= F(i,j) - F(i+1,j)2+ F(i,j)

26、 - F(i,j+1)21/2 为了编程和提高运算速度,在某些场合可尽进一步简化为GF(i,j)F(i,j) - F(i+1,j)F(i,j) - F(i,j+1) 知道了梯度 GF(i,j)后,可以直接用梯度值代替锐化输出 G(i,j)。锐化也可以用模板卷积运算,模板为:-1 -1 -1 -1 8 -1 -1 -1 -1 称为拉普拉斯算子。从图 5 得到的处理效果可以看出,经过梯度锐化处理的图像在边缘部分明显得到加强,图像轮廓比原图清晰。图 5 Lena 图的边缘检测与锐化效果2)实验原理及程序由实验要求,分别采用了实验提供的 8 邻域拉普拉斯算子和网上找到的一种拉普拉斯算子做边缘锐化。fu

27、nction picedge12 clc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图像);f=imread(pn,fn);f=im2double(f);subplot(2,2,1);imshow(f); title(原始图像);h=-1 -1 -1;-1 8 -1;-1 -1 -1;h2= 0 0 0 1 1 1 0 0 0; 0 0 0 1 1 1 0 0 0; 0 0 0 1 1 1 0 0 0;1 1 1 -4 -4 -4 1 1 1; 1 1 1 -4 -4 -4 1 1 1; 1 1 1 -4 -4 -4 1 1 1;0 0 0 1 1 1 0 0

28、0; 0 0 0 1 1 1 0 0 0; 0 0 0 1 1 1 0 0 0; dif=0; p, q =size(h);m,n ,t=size(f);2014-3-31 16for i=(p+1)/2:m-(p-1)/2for j=(p+1)/2:n-(p-1)/2 jj=f(i-(p-1)/2):(i+(p-1)/2),(j-(p-1)/2):(j+(p-1)/2);dif(i-(p-1)/2,j-(p-1)/2)=sum(sum(h.*jj);endendsubplot(2,2,2);imshow(dif);title(边缘检测);diff=0; p, q=size(h2);m,n ,

29、t=size(f);for i=(p+1)/2:m-(p-1)/2for j=(p+1)/2:n-(p-1)/2 jj=f(i-(p-1)/2):(i+(p-1)/2),(j-(p-1)/2):(j+(p-1)/2);dif(i-(p-1)/2,j-(p-1)/2)=sum(sum(h2.*jj);endendsubplot(2,2,3);imshow(dif);title(边缘检测);3)实验结果及分析图(h)边缘检测对比图有实验结果来看,8 邻域拉普拉斯算子可以达到锐化效果,但是不够明显;网上找到的算子锐化效果非常明显,可以看出图像的边缘。实验三 图像分割 3判别分析法分割图像(实验图像

30、图像分割.bmp)a)实验内容及要求判别分析法确定最佳阈值的准则, 是使进行阈值处理后分离的像素类之间的类间方差最大。设图像总像素数为 N,灰度值为 i 的像素数为 Ni,则至灰度2014-3-31 17级 K 的灰度分布的 0 阶矩及 1 阶矩分别定义为0 阶矩: 1 阶矩:当 K=L-1 时, (L-1)=1; (L-1) T, T 称为图像的平均灰度。归一化直方图为:b) 实验算法及程序按照实验的提示选取的是间类方差最小法,选取类间方差最大时候的阈值进行二值化处理,突出前景部分。主程序:function mainclc;clear all;fn,pn,fi=uigetfile(*.bmp

31、,选择图片); image=imread(pn,fn);subplot(1,2,1);imshow(image);title(原始图像 );m,n,t=size(image) level=jianlei(image(:,:,1);j=im2bw(image(:,:,1),level);subplot(1,2,2);imshow(j);t=间类分析法,threshold=,num2str(level*255);title(t);功能函数:0()KiiNk0)ii0 0001 11()/()/)/1(t ti iiLLi iTit itwptpwttwtiiN100()Li ii ipp式 中 :

32、22w01类 内 方 差 : 2b 12010()()TTw类 间 方 差 : 2tbw判 别 准 则 : ( )取 最 小 值 时 , 是 最 佳 阈 值 22111(/()/ti ii it类 方 差 : t tb判 别 准 则 : ( ) ,取 最 小 值 时 , 是 最 佳 阈 值2014-3-31 18function level=jianlei(image)cs=imhist(image,256);p=cs/sum(cs);%归一化直方图各区间的值q=cumsum(p); %返回累加和mu=cumsum(p.*(0:255); mu_t = mu(end); sigma2=0; h

33、=0;Hmax=0;w0=0;w1=0;u0=0;u1=0;HS=zeros(1,256);for i=1:256if (1-q(i)=0)continue;end;w0=q(i);w1=1-w0; u0=mu(i)/w0;u1=(mu_t-mu(i)/w1;sita2=w0*(u0-mu_t).2+w1*(u1-mu_t).2;h=sita2;HS(i)=h;endHmax = max(HS); idx = find(HS= Hmax); level = (idx - 1) / 255;endc) 实验结果及分析图(i) 判别分析法结果对比从图像结果来看,阈值为 109 时为最佳阈值,有效地

34、分离了前景与背景。选作内容:1、K 近零均值滤波器a)实验内容及要求2014-3-31 19实现 K 近邻均值(中值)滤波器(实验图像 图像滤波.bmp )1) 以待处理像素为中心,作一个 m*m 的作用模板。2) 在模板中,选择 K 个与待处理像素的灰度差为最小的像素。3) 将这 K 个像素的灰度均值(中值)替换掉原来的像素值。b)算法描述及程序根据实验要求,选取了 5 个与待处理像素的灰度差为最小的像素点,选取的是 3*3 模板。function Kroundmedfn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);subplot(1,2,1);i

35、mshow(f);title(原始图像);f1=f;m,n=size(f1);K=5;for i=2:m-1for k=2:n-1 temp1=f1(i-1:i+1,k-1:k+1); temp=sort(sort(temp1(:);f1(i,k)=round(sum(temp(round(5-K/2:4+(K-1)/2)./K);endendsubplot(1,2,2);imshow(f1);title(滤波后的图像); c)实验结果及分析图(a1)近零均值滤波从实验结果来看,近零均值滤波可以有效的去除躁点,但是这是以牺牲了2014-3-31 20图像真实灰度值为前提的,平均的方法使得图像边

36、缘变得模糊。2、设计一个同态滤波器修正光照不均(实验图像 光照不均.bmp ) 。a)原理描述及程序同态滤波的基本思想是依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。程序首先对图像取对数,然后做傅里叶变换,由于其反射率是高频部分,要对反射率进行滤除,然后进行傅里叶反变换,之后对图像做指数运算,改善图像的亮度。function samfilterclc;clear all;fn,pn,fi=uigetfile(*.bmp,选择图片);f=imread(pn,fn);subplot(1,2,1);imshow(f);title(原始图像);m n=s

37、ize(f);T=double(f);L=log(T); E=fft2(L);%将时域分量转到频域P=fftshift(E);%将FFT的DC分量移到频谱中心u0=fix(m/2); %朝0方向取整v0=fix(n/2); for u=1:m for v=1:nD(u,v)=(u-u0)2+(v-v0)2); end end c=0.1;XY=(m+n)/2;Do=max(m,n);Rh=2;%高频增益 Rl=0.5;%低频增益 H=(Rh-Rl)*(1 - exp(c*(-D/(Do2)+ Rl;%高斯同态滤波器F= P.*H; Q=ifftshift(F); F=ifft2(Q);Y=ex

38、p(F);II=real(Y); II=II/max(II(:); subplot(1,2,2),imshow(II),title(同态滤波) ;b)实验结果及分析2014-3-31 21图(j)同态滤波对比图经过同态滤波,图像亮度较暗的区域变得可见,而高亮区也变得更加清晰,对比度增强,图像可视化程度增加。但是还是可以看到有一定的图像光照不均的现象。3、读 PIC 图像文件。 (实验图像 图像解码.bmp) 。PIC 图像文件格式为: 文件头:第一个字(2 字节)是文件头长度(11157 字节) 。 图像数据: 364(列)284(行) 每像素占一个字节 压缩方法: 黑度 RLC 压缩方法 如

39、:30,25,0,0,0,0,0,0,24,. 30,25,0,6,24. 用 00 代表 256 个 0a)算法描述及程序function txjiemaclear all;clc;fn,pn,fi=uigetfile(*.pic,选择图片);fid=fopen(pn,fn);X,C=fread(fid);%C=104885fclose(fid);fh=X(2)*28+X(1);%第一个字, 11157Y=X(fh+1:C);%从第二个字开始到最后一个字结束,图像解 码2014-3-31 22t=uint8(0);i=1;while iC-fhif Y(i)=0t=t,Y(i);elseif

40、 Y(i+1)=0t=t,zeros(1,256);elset=t,zeros(1,Y(i+1);endi=i+1;endi=i+1;endN=length(t);t=t(2:N);t=t(1:364*284);I=reshape(t,364,284);imshow(I);title(图像解码); b)实验结果及分析图(k) 图像解码对 pic 文件转化成矩阵,然后对矩阵做转置,最后转换为灰度图像输出,得到的是如图所示的解码图。2014-3-31 234、采取适当图像处理方法完成:图像滤波、中心位置检测、分割、大小计算。(实验图像 综合图像.bmp).a)算法描述及程序对图像做预处理,去除噪声

41、并显化九个圆,最后利用 regionprops 函数算出面积和圆心function circlezxtclc;clear all;%获取图像fn,pn,fi=uigetfile(*.bmp,选择图片);Ibw1=imread(pn,fn);subplot(2,2,1)imshow(Ibw1);title(原始图像)%预处理Ibw=edge(Ibw1,canny,0,.27);subplot(2,2,2)imshow(Ibw);title(边缘检测)Ibw=bwmorph(Ibw,hbreak,inf);Ibw=bwmorph(Ibw,spur,inf);se=strel(line,1,0);I

42、bw=imdilate(Ibw,se);Ibw=imfill(Ibw,holes);bw=bwareaopen(Ibw,2);subplot(2,2,3)imshow(bw);title(填充去噪)C m=bwlabel(bw,8);L=regionprops(C,Area);stats=regionprops(C,Centroid);circle=edge(bw,canny,0,.27);circle=circle;subplot(2,2,4)imshow(circle);%标记圆心、求出面积hold on; for i=1:marea = L(i).Area;metric_string = sprintf(%2.2f,area)text(stats(i).Centroid(1)+2,stats(i).Centroid(2)+2,面积:,metric_string,Color,g)2014-3-31 24s= plot(stats(i).Centroid(1),stats(i).Centroid(2),R*);endtitle(最后结果);b)实验结果及分析图(L) 圆识别图(M) 最后结果从图(M)可以看出每个圆的面积和圆心的位置。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报