数字图像处理及MATLAB实现(17页).doc
《数字图像处理及MATLAB实现(17页).doc》由会员分享,可在线阅读,更多相关《数字图像处理及MATLAB实现(17页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-MATLAB数字图像处理1 概述BW=dither(I)灰度转成二值图;X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap;X,map=gray2ind(I,n)灰度到索引;X,map=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2;X=graylice(I,n)灰度图到索引图,门限1/n,2/n,(n-1)/n,X=graylice(I,v)给定门限向量v;BW=im2bw(I,level)灰度图I到二值图;BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1
2、,其余置0,level在0,1之间。BW=im2bw(RGB,level)RGB到二值图;I=ind2gray(X,map)索引图到灰度图;RGB=ind2rgb(X,map)索引图到RGB;I=rgb2gray(RGB)RGB到灰度图。2 图像运算2.1 图像的读写MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。读取(imread):1 A=imread(filename,fmt)2 X,map=imread(filename,fmt)3 =imread(filename)4 =imread(URL,)说明:filename是图像文件名,如
3、果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。写入(imwrite):1 R=imwrite(A,filename,fmt);2 R=imwrite(X,map,filename,fmt);3 R=imwrite(,filename);4 R=imwrite(,Param1,Val1,Param2,Val2)说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PN
4、G,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。2.2 图像的显示方法1:使用Image Viewer(图像浏览器),即运用imview函数。同时显示多帧图像的所有帧,可用到montage函数。改变显示大小:imview(X,map,IntialMagnificatition,fit), IntialMagnificatition默认值为100,即100%显示,设置为fit则全屏显示。关闭:i
5、mview close all。Image Viewer还提供了三个工具:全景查看窗口(导航功能)、像素区域工具、图像信息窗口。方法2:使用图形图像视窗,即运用imshow函数。调用truesize函数来设定图像到屏幕像点的映射关系。可以运用getimage函数来将当前显示的图像赋值给一个变量。调用格式:1 imshow(I,n);n为灰度级2 imshow(I,low,high);指定I的数据范围3 imshow(BW);显示二值图像BW,0为黑色,1为白色4 imshow(X,map);索引图像5 imshow(RGB);6 imshow(,display_option);显示图像的方式,
6、选择notruesize或者turesize7 imshow(x,y,A,);x,y建立非默认的空间坐标系统8 imshow filename;9 h=imshow()h表示被显示图像的句柄2.3 图像的代数运算1 相加(imadd):Z=imadd(X,Y)存为8位;Z=imadd(X,Y,uint 16)存为16位。2 求补(imcomplement):IM2=imcomplement(IM1)。3 减法(imsubtract或者imabsdiff): Z=imsubtract(X,Y)差值结果小于0的赋值为0;Z=imabsdiff(X,Y) 差值结果取绝对值。4 乘法(immultip
7、ly):Z=immultiply(X,Y)。5 除法(imdivide):Z=imdivide(X,Y)。2.4 点运算灰度变换函数GST:。其中有:1线性点运算;2非线性点运算;3直方图修正。2.5 图像的集合运算改变大小imresize:Y=imresize(X,M,method),其中M为放大的倍数,method有如下几种插值方式nearest,bilinear,bicubic。也可以规定输出图像大小,heng,zong。图像旋转imrotate:Y=imrotate(X,angle,method,crop),angle表示逆时针旋转,method同imresize的用法,crop表示将
8、旋转以后的图像取与原图像大小相同的中心部分取出。比例缩放imresize:同改变大小。空间变换imtransform:B=imtransform(A,TFORM,param1,val1,param2,val2),其中TFORM为makeform或者cp2tform产生的结果。如TFORM=makeform(transformtype,),transform为变换类型,如下:转换类型描述Affine二维或N维仿真变换Projective二维或N维投影变换Custom用户自定义变换Box各维独立变换的放射变换Composite两种或多种变换的组合变换MATLAB中还提供了很多空间变换的工具,如:f
9、liptform,fgormfwd,tforminv,findounds,makereample,tformarray,imtransform等。2.6 图像的领域和块操作领域操作分为滑动领域和分离领域两类。滑动领域函数nlfilter,用法如下:1 B=nlfilter(A,m n,fun)m n表示滑动领域m*n,fun为图像领域上的处理函数;2 B=nlfilter(A,m n,fun,P1,P2,)可以传递参数P1,P2,给函数fun;3 B=nlfilter(A,indexed)把图像作为索引色图像处理,double填补1,uint8补0。而且fun可以是一个函数句柄或是一个内联函数
10、,返回类型由fun决定。但是nlfilter处理时可能需要很长时间,这时可是考虑使用快速处理函数colfilt。用法类似,多一个参数bldck_tpye,表示块的移动方式,有distinct和sliding两个取值,前者表示分离块操作,后者表示滑动块操作。而且有mblock nblock表示图像块的大小。分离块操作是将图像划分为大小相同的矩形区域,不同图像块在图像中无重叠排列,其顺序从左上角开始,不足的地方可以在右下角补0。函数为blkproe,调用格式和nlfilter类似。2.7 几何畸形校正和图像配准用到函数imtransform。3 MATLAB二维与三维图形绘制及动画3.1 基本绘图
11、命令函 数功 能Plot二维,x,y都是线性坐标Semilogx二维,x为对数坐标,y为线性Semilogx二维,x为线性坐标,y为对数Loglog二维,都为对数坐标Plotyy二维,左右各一个y轴Polar极坐标图Grid添加(grid on)或者去掉(grid off)网格Zoom允许或者不允许进行放大操作Ginput用光标获取图像中点的坐标Patch填充二维或三维坐标中的二维图像Fill填充二维坐标中的二维图像3.2 绘图选项常用的绘图选项:线形:- -. - :颜色:r g b c m y k w 点标记:+ o * . x s d h p v坐标轴标注:axis(xmin xmax,
12、ymin ymax),axis auto/square/xy/ij/normal/off/on等用法。图形窗口保持:hold onhold off。给坐标加边框:box onbox off。图形缩放:zoom onzoom outzoom off。快速绘图:fplot(fun, xmin xmax,ymin ymax)。打印:printfilename-device-options,其中device决定打印机的类型。3.3 特殊坐标二维图形Bar/bar3长条图Comet彗星流动图Semilogx对数坐标图形Errorbar图形加上误差范围Fplot较精确的函数图形Polar极坐标绘图Hist
13、累计图(直方图)Plotyy双y轴图形Rose极坐标累计图(玫瑰)Plot插入表格Stairs阶梯图Stem针状图Fill实心图Feather羽毛图Compass罗盘图Quiver向量场图说明:plotyy(x1,y1,x2,y2,fun1,fun2),即可以用fun1和fun2来指定不同的绘图函数,也可缺省,如fun1可以是plot等等。Plot(z)绘制复数z的实部与虚部的图形。3.4 二维图形处理图形标注:title,xlabel,ylabel,zlabel,text,gtext,legend。图形窗口的分割:subplot(m,n,p)。坐标系设定:axes,也可事后用gca(get
14、current axes)获得当前坐标系的句柄。通过get和set函数获取和设置坐标轴对象的有关属性值。用法如:属性值=get(句柄,属性)或者set(句柄,属性1,属性值1,属性2,属性值2,)。3.5 三维图形的绘制Plot3三维线条图Surfc建立带基本等高线的表面图Mesh建立网格图Surfl建立带指定方向照明的表面图Meshc建立具有基本等高线的网格图Surface建立表面图对象的低级函数Meshz建立具有基准平面的网格图Fill3填充三维多边形Surf建立表面图Pcolor二维伪彩色绘图,surf的俯视说明:1改变网格属性:set(axes_handle,XGrid,on) gri
15、d函数显示网格。2网格图中用到函数hidden on和hidden off来显示或者不显示被遮住部分。3waterfall函数在x轴方向产生水流效果。4meshgrid函数产生一个x-y平面的网格,如:x,y=meshgrid(-3:0.1:3,-2:0.1:2)。5绘制球面的函数是sphere,如:sphere(n)或者x,y,z= sphere(n)。也可以是函数cylinder,用法:cylinder(R,n)或者x,y,z= cylinder(R,n)。n为面数,R为一函数。6colorbar命令的作用是在三维曲面图旁边绘制一个可以指示亮度的彩色条。7去除图中的黑线条,并对颜色做平滑和
16、插值处理,用到shading函数,用法如下表:Shading flat去掉各片连接处的线条,平滑颜色Shading interp去掉连接线条,使颜色均匀过渡Shading faceted默认值8三维等值线图:contour3。多一个指定等值线数目的参数N。contour为其俯视图。9quiver函数在等值线图上画出方向或速度箭头:quiver(X,Y,DX,DY)。求导:gradient。10fill3用法类似于fill,对三维图形进行填充。11clabel函数:添加等高线。12bar和bar3参数说明:group同一行数据的方条靠一起,stack画在一个方条上。13饼形图pie和pie3:参
17、数explode指定某些片是否和整个图脱开,与x的维数相同的向量,其中非0的那一片脱离整体。加上标注如属性1,属性2,。14火柴杆图和瀑布图:stem,stem3和waterfall。3.6 三维图形的控制视角view:仰角(与z轴的夹角)el和方位角(与x轴的夹角)az,即view(az,el)。控制光照light:参数有color,style(infinit和local)和position。函数lightangle添加光照,并指定其方位角和仰角,可是使用函数shading增强表面。3.7 动画提供以下函数来制作:Moviein产生一个矩阵来存放动画中的帧Getframe对当前的图形进行快照
18、Movie按顺序回放各帧不断在屏幕上对图形进行erase和redraw,而每次redraw时对对象的某个参数进行增量变化,需要用到对象的EraseMode属性。4 MATLAB图像增强4.1 原理、方法及体系结构三个阶段:图像预处理、特征抽取阶段、识别分析阶段。目的:改善图像的视觉效果,提高图像成分的清晰度;是图像变得有利于计算机处理。方法:空间域增强方法、频域增强方法。体系:图像增强:空间域、频率域、彩色增强空间域:像素点处理(图像灰度变换、直方图修正(中值滤波、均值滤波)、领域处理(图像平滑滤波、图像锐化滤波)频率域:低通滤波、高通滤波、同态滤波彩色处理:真彩色处理、伪彩色处理(灰度分层法
19、、灰度变换法、频域伪彩色)4.2 对比度增强线性变换:。其中功能是把函数的灰度值从范围m,M变为n,N。非线性变换:分为对数变换和Gamma变换。前者表达式为,其中c为常数。后者表达式为,r为CCD图像传感器或胶片等的入射光的强度,为常数,灰度与光强成正比,则有,k为常数通常为1,1/r取0.40.8。我们可以用一个函数imadjust函数来实现:J=imadjust(I);J=imadjust(I,low_in;high_in,low_out;high_out);J=imadjust(I,low_in;high_in,low_out;high_out,gamma)。其中灰度范围用归一化灰度值
20、,范围0,1。整个图像的low_in;high_in可以用函数stretch函数来获得。MATLAB image toolbox5.4还提供一个手动调节的控制面板,调用函数imconstrast。4.3 空域变换增强分为基于像素点和基于模板的两类方法。像素选择:pixval和impixel。用法如下:Pixval(on/off);pixval;pixval(fig,option);C,R,P=impixel(X,MAP)。说明:MAP仅仅当是索引图的时候采用此参数。C为像素的颜色,R,P为像素的坐标。Pixval可以得到更多的像素信息,impixel可以返回指定像素的颜色值。强度描述图:imp
21、rofile,用以描述图像一条线段或多条线段的强度值。格式:C=improfille(I,xi,yi)。参数xi,yi是两个向量,用以指定线段的端点。图像轮廓图:imcontrour,自动设置坐标轴,使输出图像在其方向和纵轴比上能够与显示的图像吻合。直方图匹配。从而可以得到直方图均衡化的公式如下:。在MATLAB中提供函数histep来实现。用法histep(I,n)。4.4 图像锐化边界撮合锐化:边界提取函数edge,以及fspecial(建预定义的二维过滤器),再者函数imfilter(N-D过滤的多维影像)。锐化滤波器:分为拉普拉斯(Laplacian)算子和Wallis算子。拉普拉斯算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 MATLAB 实现 17
限制150内