资源描述:
《matlab图像处理命令》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MATLAB图像处理命令%imshowimshow是用来显示图片的,如>>I=imread('moon.tif');>>figure,imshow(I);而有时为了数据处理,要把读取的图片信息转化为更高的精度,>>I=double(imread('moon.tif'));为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型。如果直接运行imshow(I),我们会发现显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色,而imshow显示uint8型时是0~255范
2、围。而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了。有两个解决方法: 1>imshow(I/256);-----------将图像矩阵转化到0-1之间 2>imshow(I,[]); -----------自动调整数据的范围以便于显示.从实验结果看两种方法都解决了问题,但是从显示的图像看,第二种方法显示的图像明暗黑白对比的强烈些!+++++++++++++++++++++++++++++++++++++++IMSHOW(I)displaysthegrayscale
3、imageI.IMSHOW(I,[LOWHIGH])displaysthegrayscaleimageI,specifyingthedisplayrangeforIin[LOWHIGH].ThevalueLOW(andanyvaluelessthanLOW)displaysasblack,thevalueHIGH(andanyvaluegreaterthanHIGH)displaysaswhite.Valuesinbetweenaredisplayedasintermediateshadesofgray,usingthedefaultnumberofgray
4、levels.Ifyouuseanemptymatrix([])for[LOWHIGH],IMSHOWuses[min(I(:))max(I(:))];thatis,theminimumvalueinIisdisplayedasblack,andthemaximumvalueisdisplayedaswhite.+++++++++++++++++++++++++++++++++++++++图像为y,为何用imshow(uint8(y))和imshow(y,[])时的图像显示结果不同?回答:imshow(uint8(y))是按照256级灰度显示y得绝对数据。0
5、表示黑色,255表示白色,y中大于255的值强制为255。imshow(y,[]),将y中的最小值看作0(black),最大值看作255(white)-->增加图像的对比度。所以两者不同。%padarray功能:填充图像或填充数组。用法:B=padarray(A,padsize,padval,direction) A为输入图像,B为填充后的图像, padsize给出了给出了填充的行数和列数,通常用[rc]来表示, padval和direction分别表示填充方法和方向。它们的具体值和描述如下: padval:'symmetric'表
6、示图像大小通过围绕边界进行镜像反射来扩展; 'replicate'表示图像大小通过复制外边界中的值来扩展; 'circular'图像大小通过将图像看成是一个二维周期函数的一个周期来进行扩展。 direction:'pre'表示在每一维的第一个元素前填充; 'post'表示在每一维的最后一个元素后填充; 'both'表示在每一维的第一个元素前和最后一个元素后填充,此项为默认值。若参量中
7、不包括direction,则默认值为'both';若参量中不包含padval,则默认用零来填充。若参量中不包括任何参数,则默认填充为零且方向为'both'。在计算结束时,图像会被修剪成原始大小。举例: A=[12;34]; B=padarray(A,[32],'replicate','post')imfinfoimfinfo函数用于读取图象文件的有关信息,其语法格式为imfinfo(filename,fmt)imfinfo函数返回一个结构info,它反映了该图象的各方面信息,其主要数据包括:文件名(路径)、文件格式、文件格式版本号、文件的修改
8、时间、文件的大小、文件的长度、文件的宽度、每个像素的