IPMT函数 java_matlab中常用的ipt命令

matlab部分ipt函数的运用.doc

IPT函数的应用1、读取并显示一张彩色图像,然后将其灰度化,并将灰度化后的结果存入计算机中,最后再将其二值化;解答:(1)程序:读取并显示一张彩色图片:f=imread( D:\matlab7.0\myimages\图片1.jpg );%读入图片1whosf%提取图片基本信息imshow(f)%显示图片1j=rgb2gray(f);%利用IPT函数将如片灰度化imshow(j)%显示灰度化后的图片imwrite(j, D:\matlab7.0\work\tupian1.jpg );%将灰度化后的图片存入指定文件内p=im2bw(j);%将灰度化的图片二值化imshow(p)%显示二值化后的图片imwrite(p, p.jpg );%保存图片p(2)运行结果图1读取的图片1图2灰度化的tupian1图3二值化后的图片p(3)结果分析调用灰度函数rgb2gray对图像进行灰度化,然后进行二值处理,默认阈值为0.5.可以看出图像的明显变化,趋于0的部分变亮,趋于1的部分变暗。2、使用亮度变换函数完成一张灰度图片的亮度调整;解答:(1)程序:g=imread( D:\matlab7.0\myimages\j.jpg );%读入图片jimshow(g)%显示图片gg1=imadjust(g,[0.350.95],[01]);%对图片g进行亮度变换imshow(g1)%显示图片g1imwrite(g1, g1.jpg );%保存图片g1(2)运行结果:图4原灰度图像图4-1亮度变换后的图像g1(3)结果分析调用亮度处理函数imadjust处理图像后,将0.5至0.75之间的灰度级拓展到[01]。突出其中的灰度级。由图4-1可以看出,图像的亮暗发生了明显的变化。3、计算图像的直方图并对其进行均衡化和归定化;解答:(1)程序:3.1直方图的均衡化:g2=imread( D:\matlab7.0\myimages\g1.jpg );%读入图片g1imshow(g2)%显示图片g2h=imhist(g2);%计算图片g1的直方图h1=h(1:10:256);%设置直方图的行向量horz=1:10:256;%设置水平标度值的增量,与h1等维bar(horz,h1)%显示直方图的条形图m=histeq(g1,256);%对图片g1进行均衡化处理imshow(m)%显示均衡化后的图片mn=imhist(m);%对均衡化后的图片作直方图n1=n(1:10:256);horz=1:10:256;bar(horz,n1)%显示直方图的条形图n1(2)运行结果:图5图片g2的直方图h1图5-1灰度图g2图6均衡化图片的直方图n1图6-1均衡化后的图片m3.2直方图的规定化:g3=imread( D:\matlab7.0\work\tupian1.jpg );%读入tupian1figure,imshow(g3);%显示图片g2figure,imhist(g3);%显示图片g2的直方图p=histeq(g3,[064128182256]);%对直方图进行规定化figure,imshow(p);%显示规定化后的图片figure,imhist(p);%计算并显示图片p的直方图imwrite(p, p.jpg )%保存规定化后的图片p(2)运行结果:图8灰度图g2图9g2的直方图图10g2规定化后的图片p图11图片p的直方图p1(3)结果分析将直方图进行均衡化之后,不难发现直方图抽样点被拉伸,对比图1,图3的平均亮度和对比度的增强十分明显。均衡化后的图像的直方图中的灰度级平均值高于原始值。而直方图规定化,是使图像获得最为匹配的效果。使图像按我们所设定的方向进行,进行图像的规定化。4、调用噪声函数对读入的图像加噪,然后调用空间噪声滤波函数进行滤波,并对滤波效果进行分析;解答:(1)程序:i=imread( D:\matlab7.0\work\tupian1.jpg );%读入图片tupian1imshow(i);%显示图片ii1=imnoise(i, salt%对图片i进行椒盐加噪figure,imshow(i1);%显示加噪后的图片i1w=medfilt2(i1, symmetric );%对图片i1进行中值滤波figure,imshow(w);%显示滤波后的图像wimwrite(i, i.jpg );%保存图片iimwrite(i1, i1.jpg );%保存加噪后的图片i1imwrite(w, w.jpg )%保存中值滤波后的图片w(2)运行结果:图12原灰度图片i图13加噪后的图像i1图14中值滤波后的图像w(3)结果分析:首先得到灰度图像,然后加入默认噪声密度为0.05的椒盐噪声。得到被噪声轻度污染的图像(图2),然后用中值滤波器进行滤波,滤除椒盐噪声,且滤波效果良好,接近原图,较为清晰。5、调用函数完成图像的DFT变换及平移;解答:(1)程序:a=imread( D:\matlab7.0\work\i.jpg );%读入图片ifigure,imshow(a);%显示图片ab=fft2(a);%对图片a进行DFT变换s=abs(b);%对处理后的图片b作傅里叶频谱figure,imshow(s,[]);%显示显示处理后的频谱图sc=fftshift(b);%对图片b进行平移figure,imshow(abs(c),[]);%显示平移后的图片cd=log(1+abs(c));%对图片abs(c)进行对数变换figure,imshow(abs(d),[]);%显示处理后的图片imwrite(a, a.jpg );%保存原灰度图片aimwrite(s, b.jpg );%保存DFT变换后的频谱图simwrite(abs(c), c.jpg );%保存平移后的频谱图abs(c)imwrite(abs(d), d.jpg );%保存对数变换后的频谱图abs(d)(2)运行结果:图15原灰度图a图16DFT变换后的频谱图b图17平移后的图像c图18对数变换后的图像d(3)结果分析通过调用函数fft2进行DFT计算,然后利用fftshift将变换的原点平移到频率矩阵中心,可以明显看到图像中心点的变化(图3),然后利用对数变化增强视觉效果(图4),结果变化明显,一目了然。6、调用库函数,完成对加噪图像的滤波,并和空间滤波函数效果进行比较。解答:(1)程序:j=imread( D:\matlab7.0\work\tupian1.jpg );%读入灰度图tupian1figure,imshow(j);%显示图片jj1=imnoise(j, salt%对图片j椒盐加噪figure,imshow(j1);%显示加噪图片j3=fspecial( motion );%创建一个滤波器j4=imfilter(j1,j3);%空间滤波figure,imshow(j4);%显示滤波后图像imwrite(j1, j1.jpg );%保存加噪图像imwrite(j4, j4.jpg );%保存滤波后图像j5=medfilt2(j1);%调用库函数对加噪图像进行中值滤波figure,imshow(j5)