欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《图像处理基础》PPT课件.ppt

    • 资源ID:70302719       资源大小:1.47MB        全文页数:84页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《图像处理基础》PPT课件.ppt

    第7讲 Matlab图像处理基础主要介绍图像的数据类型及类型,图像和视频文件的读写与显示,图像的运和几何操作 视频文件转换等。Matlab 图像处理工具箱图像处理工具箱Image Processing Toolboxn提高图像质量,使模糊的图像变得清晰;提高图像质量,使模糊的图像变得清晰;n提取图像的有效特征,以便进行模式识别;提取图像的有效特征,以便进行模式识别;n通过图像变换和有效编码来压缩其频带或数据,通过图像变换和有效编码来压缩其频带或数据,以便传输或存储。以便传输或存储。一、一、图像处理工具箱函数图像处理工具箱函数n包含一百余个函数,按其内容划分为以下包含一百余个函数,按其内容划分为以下几几类:类:、图像显示函数;、图像显示函数;、图像文件输入、输出函数;、图像文件输入、输出函数;、图像几何操作函数;、图像几何操作函数;、图像像素值及统计函数;、图像像素值及统计函数;、图像分析函数;、图像分析函数;、图像增强函数;、图像增强函数;、线性滤波函数;、线性滤波函数;、二维线性滤波器设计函数;、二维线性滤波器设计函数;、图像变换函数;、图像变换函数;、图像邻域及块操作函数;、图像邻域及块操作函数;、二值图像操作函数;、二值图像操作函数;、基于区域的图像处理函数;、基于区域的图像处理函数;、颜色图操作函数;、颜色图操作函数;、颜色空间转换函数;、颜色空间转换函数;、图像类型和类型转换函数。、图像类型和类型转换函数。一、一、图像处理工具箱函数图像处理工具箱函数l在缺省的情况下,Matlab将图像中的数据存储为双精度类型(double),即64bit浮点数。这种存储方法的优点在于,使用中不需要数据类型的转换,因为几乎所有的Matlab及其工具箱函数都可以使用double作为参数类型。然而对于图像存储来说,用64bit表示图像数据会导致巨大的存储量,lMatlab还支持图像数据的另一种类型无符号整型(uint8),即图像矩阵中的每个数据占用1个字节。l Matlab及工具箱中的大多数操作及函数(比如最基本的矩阵相加)都不支持uint8类型。uint8的优势仅在于节省存储空间,在涉及运算时将其转换成double型。二、二、图像和图像的数据类型图像和图像的数据类型图像数据类型转换函数nim2double():将图像数组转换成double精度类型l有效输入数据类型:logical,uint8,uint16,doublenim2uint8():将图像数据转换成unit8类型l有效输入数据类型:logical,uint8,uint16,doublenim2uint16():将图像数组转换成unit16类型l有效输入数据类型:logical,uint8,uint16,double图像处理工具箱所支持的图像类型图像处理工具箱支持5种图像类型l 真彩色图像(RGB images)l 索引色图像(index images)l 灰度图像(intensity images)l 二值图像(binary images)l 多帧图像组成的图像序列。图像类型1.真彩色图像 真彩色图像用 R、G、B 3个分量表示1个像素的颜色,所以对1个尺寸为mn的真彩色图像来说,其数据结构就是一个mn3的多维数组。如果要读取图像中(100,50)处的像素值,可以查看三元组(100,50,13).真彩色图像可用双精度存储,此时亮度值的范围是0,1。比较符合习惯的存储方法是用无符号整型存储,亮度值的范围为0,255。图1 真彩色图像的结构2.索引色图像 Matlab中的索引色图像包含2个结构,一个是调色板;另外一个是图像数据矩阵。调色板是一个有3列和若干行的色彩映像矩阵,矩阵的每行都代表一种色彩,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定的颜色。需要注意的是Matlab中的调色板的色彩强度是0,1中的浮点数,0代表最暗,1代表最亮。图2 索引色图像的结构图3.灰度图像 存储灰度图像只需要一个数据矩阵,数据类型可以是double,值域为0,1,也可以是uint8,值域0,255。4.二值图像l又称黑白图像,二值图像只需一个数据矩阵,每个像素只有2个灰度值。二值图像可以采用uint8或double类型存储,工具箱中以二值图像作为返回结果的函数都使用uint8类型。图5 是一幅二值图像的结构图5 二值图像的结构5.图像序列l图像处理工具箱支持将多帧图像连接成图像序列。图像序列是一个四维的数组,图像帧的序号在图像的长、宽、颜色深度之后构成第四维。比如一个包含了5幅400300真彩色图像的序列,其大小为4003005。l要将分散的图像合并成图像序列可以使用Matlab的cat函数,前提是各图像的尺寸必须相同,如果是索引色图像,调色板也必须是一样的。图像序列l比如要将A1、A2、A3、A4、A5五幅图像合并成一个图像序列A,Matlab语句为l A=cat(4,A1,A2,A3,A4,A5)l 也可以从图像序列中抽出1帧,比如语句l FRM3=MULTI(:、:、:、3)l是将序列MULTI中的第3帧抽出来赋给矩阵FRM3。Matlab图像类型转换函数 工具箱中提供了许多图像类型转换的函数,从这些函数的名称就可以看出它们的功能。1.gray2ind函数函数 功能:将灰度图像转换成索引图像。格式:X,map=gray2ind(I,n)Matlab图像类型转换2.grayslice函数函数 功能:通过设定阈值将灰度图像转换成索引色图像。格式:X=grayslice(I,n)X=grayslice(I,v)3.imb2bw函数函数 功能:将灰度图像、索引色图像和真彩色图像转化成二值图像。格式:BW=im2bw(I,level)BW=im2bw(X,map,level)BW=im2bw(RGB,level)Matlab图像类型转换 4.ind2gray函数函数 功能:将索引图像转换成灰度图像。格式:I=Ind2gray(X,map)5.ind2rgb函数函数 功能:将索引色图像转换成真彩色图像。格式:RGB=ind2rgb(X,map)Matlab图像类型转换 6.mat2gray函数函数 功能:将一个数据矩阵转换成一幅灰度图像。格式:I=mat2gray(A,amin amax)I=mat2gray(A)7.rgb2gray函数函数 功能:将一幅真彩色图像转换成灰度图像。格式:I=rgb2gray(RGB)newmap=rgb2gray(map)8.rgb2ind函数函数 功能:将真彩色图像转换成索引色图像。格式:RGB=rgb2ind(X,map)例:转换灰度图像为索引图像n clcn close alln clearnI=imread(tire.tif);nX=grayslice(I,16);nimshow(I)nfigure,imshow(X,jet(16)例:转换图像为二进制图像n clcn close alln clearnload treesnBW=im2bw(X,map,0.4);nimshow(X,map)nfigure,imshow(BW)图像文件的读写和显示n图像文件的读写n图像文件的显示n特殊的图像显示技术图像文件的读写和查询n图形图像文件的读取n 语法:A=imread(文件名,文件格式)n说明:读取图像l 语法:M,N=size(filename)l 说明:给出一幅图像的行数和列数图像文件的读写和查询nX=imread(moon.tif);nwhosn Name Size Bytes Classn X 537x358 192246 uint8 arraynX1=imread(peppers,png);nName Size Bytes ClassnX 537x358 192246 uint8 arraynX1 384x512x3 589824 uint8 array2.图形图像文件的写入(保存)利用imwrite函数可以完成图形图像文件的读取操作,其语法如下n 语法:imwrite(f,filename)n说明:保存图像n当利用imwrite函数保存图像时,Matlab 缺省的保存方式就是将其简化到uint8的数据格式。3.图形图像文件信息的查询 Mat lab提供了imfinfo函数用于从图像文件中查询其信息。所获取的信息依文件类型的不同而不同。但是不管哪种类型的图像文件,至少包含下面的内容。l文件名。(如果该文件不在当前路径下,还包含该文件的完整路径。)l文件格式。l文件格式的版本号。文件修改时间。l文件的字节大小。图像的宽度(像素)。l 图像的长度(像素)。每个像素的位数。l 图像类型。即该图像是RGB(真彩)图像、灰度图像还是索引图像。limfinfo(moon.tif)图像文件的显示l在Matlab中,显示一幅图像可以用image函数,这个函数将创建一个图形对象句柄,语法格式为:l image(C)l image(x,y,C)l image(PropertyName,Property Value,l image(PropertyName,Propety Value,)l handle=image()l 其中,x,y分别表示图像显示位置的左上角坐标,C表示所需显示的图像。图像文件的显示 X1=imread(peppers,png);image(X1)图像文件的显示load clownimage(10,10,X)colormap(map)用image函数显示的一幅小丑图像,图像的左上角坐标为(10,10)。图像文件的显示lMatlab 图像处理工具箱提供了一个高级的图像显示函数imshow。其语法格式为l语法:imshow(f,G)l imshow(f,low high)l imshow(f,)l说明:lG是显示该图像的灰度级数;l小于或等于low的值都显示为黑色,大于或等于high的值都显示为白色。l 自动将变量low设置为f的最小值,将high设置为f的最大值。图像文件的显示例如:I=imread(rice.png)J=filter2(1 2;-1-2,I)%用模板1 2;-1-2对图像滤波 imshow(I)figure,imshow(J,)用imshow显示滤波前后的图像图像读取显示n clcnclearnclose allnf=imread(tire.tif);nM,N=size(f);ng=imread(trees.tif);nimshow(f);nfigure,imshow(g);nimwrite(f,s2.jpg)图像读取显示图像读取显示使用图像浏览器显示使用图像浏览器显示imview()nA=imread(moon.tif);n imview(A)特殊图像显示技术添加颜色条添加颜色条colorbar()nA=imread(moon.tif);nimview(A,);ncolorbar(vert)ncolorbar(horz)不同类型的图像显示方法索引图像及其显示索引图像及其显示 1、显示一幅索引图像:image(X)colormap(map)颜色映像表通常和索引图像保存在一起。当用户调用函数imread时,Matlab 自动同时加载颜色映像表与图像。2、使用imshow命令显示索引图像 imshow(X,map)灰度图像及其显示l1、灰度图像显示最基本的调用格式如下:l imshow(I)l 多数情况下,灰度图像很少和颜色映像表一起保存,但在显示灰度图像时,Matlab仍然在后台使用系统预定义的缺省灰度颜色映像表。limshow函数通过将灰度值标度为灰度级调色板的索引来显示图像。如果I是double型,若像素值为0.0,则显示为黑色,1.0则显示为白色,0.0和1.0之间的像素值将显示为灰影。如果I为uint16类型,则像素值为65535将被显示为白色。灰度图像及其显示(2)imagesc函数显示灰度图像 下面的代码是用具有两个输入参数的imagesc函数显示一幅灰度图像。imagese(1,0 1);colormap(gray);imagesc函数中的第二个参数确定灰度范围。灰度范围中的第一个值(通常是0),对应于颜色映像表中的第一个值(颜色),第二个值(通常是1)则对应于颜色映像表中的最后一个值(颜色)。灰度范围中间的值则线性对应于颜色映像表中剩余的值(颜色)。灰度图像及其显示 例如,用系统缺省的灰色显示一幅灰度图像 load clown clims=10 60;imagesc(X,clims)colormap(gray)而使用浅蓝绿色显示该图像则是另外一番效果 load clown clims=10 60;imagesc(X,clims)colormap(winter)RGB图像及其显示1、用image函数显示RGB图像 image(RGB)2、用imshow函数显示RGB图像 imshow(RGB)4.二进制图像及其显示l显示二进制图像l BW=imread(circles.png);l imshow(BW);l 在Matlab 中,二进制图像是一个逻辑类,仅包括0和1两个数值,像素0显示为黑色,像素1显示为白色。l 在显示时,也可以通过NOT()命令,对二进制图像进行取反,使数值0显示为白色,1显示为黑色。l imshow(BW);二进制图像显示效果图像运算l图像的代数操作l图像的空间域和变换操作l图像的邻域和块操作图像代数运算l相加运算l相减运算l绝对值差运算l乘法运算l除法运算l求补运算l线性组合运算相加运算limaddlZ=imadd(X,Y)l两幅图像叠加或一幅图像加上一个常数lX和Y必须是实数值,非稀疏矩阵,具有相同的维数和数据类型nI=imread(rice.png);nJ=imread(cameraman.tif);nK=imadd(I,J,uint16);nimshow(K,)相加运算l图像整体亮度增加n加法运算:增加亮度值nRGB=imread(rice.png);nRGB2=imadd(RGB,50);nRGB3=imadd(RGB,100);nsubplot(3,1,1),imshow(RGB);nsubplot(3,1,2),imshow(RGB2);nsubplot(3,1,3),imshow(RGB3);减法运算limsubtractl Z=imsubtract(X,Y)l两幅图像相减lX和Y必须是实数值,非稀疏矩阵,具有相同的维数和数据类型l示例:nX=uint8(255 10 75;44 225 100);nY=uint8(50 50 50;50 50 50);nZ=imsubtract(X,Y)nZ=n 205 0 25n 0 175 50减法运算l图像相减nI=imread(rice.png);nbackground=imopen(I,strel(disk,15);nIp=imsubtract(I,background);nimshow(Ip,)l图像整体亮度减小nrice=imread(rice.png);nrice2=imsubtract(rice,50);nsubplot(1,2,1),imshow(rice);nsubplot(1,2,2),imshow(rice2);绝对值差运算limabsdiffl Z=imabsdiff(X,Y)l计算图像插值的绝对值lX和Y必须是实数值,非稀疏矩阵,具有相同的维数和数据类型l示例:nX=uint8(255 10 75;44 225 100);nY=uint8(50 50 50;50 50 50);nZ=imabsdiff(X,Y)nZ=n 205 40 25n 6 175 5绝对值差运算l绝对值差nclcnclearnclose allnI=imread(a1.tif);nJ=imread(a2.tif);nK=imabsdiff(I,J);nimshow(K,)乘法运算limmultiplylZ=immultiply(X,Y)l亮度缩放,用于两幅图像相乘,或一幅图像乘以一个常数ni=imread(pears.png);nj=immultiply(i,1.2);nk=immultiply(i,2);nsubplot(1,3,1),imshow(i);nsubplot(1,3,2),imshow(j);nsubplot(1,3,3),imshow(k);乘法运算除法运算limdivide()lZ=imdivide(X,Y)l用于两幅图像相除,或一幅图像除以一个常数lX和Y必须是实数值,非稀疏矩阵,具有相同的维数和数据类型l示例:nI=imread(rice.png);nbackground=imopen(I,strel(disk,15);nIp=imdivide(I,background);nimshow(Ip,)除法运算l除以常数nclcnclearnclose allnI=imread(rice.png);nJ=imdivide(I,2);nsubplot(1,2,1),imshow(I)nsubplot(1,2,2),imshow(J)图像求补运算limcomplement()lIM2=imcomplement(IM)l计算图像IM的补lIM可以是二值、灰度或者彩色图像lIM为二值图像时,0变成1,1变成0lIM为灰度或者彩色图像,每个像素值与该类型支持的最大值相减,输出插值l示例:nX=uint8(255 10 75;44 225 100);nX2=imcomplement(X)nX2=n 0 245 180n 211 30 155图像求补运算nclcnclearnclose allnw=imread(text.png);nbw2=imcomplement(bw);nsubplot(1,2,1),imshow(bw)nsubplot(1,2,2),imshow(bw2)线性组合运算limlincomb()l用于多幅图像进行线性组合lZ =imlincomb(K1,A1,K2,A2,.,Kn,An)l计算Z=K1*A1+K2*A2+.+Kn*AnlZ =imlincomb(K1,A1,K2,A2,.,Kn,An,K)l 计算Z=K1*A1+K2*A2+.+Kn*An+knA1,A2,An为实数值,非稀疏矩阵,具有相同的维数和数据类型nk1,k2,kn为实值标量线性组合运算n线性组合实现图像的叠加功能nclcnclearnclose allnI=imread(rice.png);nJ=imread(cameraman.tif);nK=imlincomb(1,I,1,J,uint16);nfigure,imshow(K,)图像的几何操作l图像的缩放l图像的旋转l图像的剪切l图像的二维空间变换图像的缩放limresizel按指定的插值方法进行图像的放大和缩小l插值方法有:nearest,bilinear,bicubicnB=imresize(A,m,method)n按method指定的方法,将图像A放大或缩小至原来的m倍。nB=imresize(A,mrow ncols,method)n按method指定的方法,将图像A调整为mrow*ncols的图像。图像的缩放nclcnclearnclose allnI=imread(circuit.tif);nI2=imresize(I,0.6,bilinear);nimshow(I);n figurenimshow(I2);图像旋转limrotate()l按指定的插值方法对图像进行旋转nB=imrotate(A,angel,method)nB=imrotate(A,angel,method,crop)lMethod为nearest,bilinear,bicubicnangel 旋转角度ncrop表示旋转后是否实现裁剪图像旋转nclcnclearnclose allni=imread(eight.tif);nj=imrotate(i,60,bilinear);nj1=imrotate(i,60,bilinear,crop);nsubplot(1,3,1),imshow(i);nsubplot(1,3,2),imshow(j);nsubplot(1,3,3),imshow(j1);图像裁剪limcrop()l实现对图像的裁剪nI=imcrop(A)nI2=imcrop(RGB)nX2=imcrop(X,map)n对灰度图像、真彩图像和索引图像的剪切nI=imcrop(A,rect)nI2=imcrop(RGB,rect)nX2=imcrop(X,map,rect)nrect是一个四元向量xmin ymax width height 旋转角度图像裁剪nclcnclearnclose alln I=imread(circuit.tif);nI2=imcrop(I,75 68 130 112);nimshow(I);nfigure;nimshow(I2)图像的二维空间变换limtransform()l对图像进行空间变换,包括放射变换和透视投影变换。nB=imtransform(A,TFORM)nB=imtransform(A,TFORM,INTERP)nA为待变换图像nB为图像的变换结果nTFORM由makeform函数定义变换类型,nINTERP 为插值类型包括nearest,bilinear,bicubic图像的二维空间变换n放射变换示例:nclcnclearnclose alln I=imread(cameraman.tif);ntform=maketform(affine,1 0 0;.5 1 0;0 0 1);nJ=imtransform(I,tform);nimshow(I),figure,imshow(J)图像的二维空间变换n透视投影变换示例:nclcnclearnclose allnI=imread(cameraman.tif);nudata=0 1;vdata=0 1;%input coordinate systemntform=maketform(projective,0 0;1 0;1 1;0 1,.n -4 2;-8-3;-3-5;6 3);nB,xdata,ydata=imtransform(I,tform,bicubic,.n udata,udata,.n vdata,vdata,.n size,size(I),.n fill,128);nsubplot(1,2,1),imshow(udata,vdata,I),axis onnsubplot(1,2,2),imshow(xdata,ydata,B),axis on图像的邻域和块操作l块操作l邻域操作块操作lblkproc()l实现对图像的分块处理nB=blkproc(A,m n,fun)n将A分成m*n的互不重叠矩形块,若A不能被m和n整除,则补充0n然后对每个块按函数fun进行处理n示例:nI=imread(cameraman.tif);nfun=dct2;nJ=blkproc(I,8 8,fun);nimshow(J)邻域操作lnlfilter()l实现对图像的滑块邻域操作nB =nlfilter(A,m n,fun)n一次运算只处理图像的一个像素n输出图像的像素值由其对应输入图像像素点的邻域内的像素采用有关运算来决定n当操作从一个元素移动到另一个元素时,矩阵块也以相同的方向移动邻域操作nclcnclearnclose allnA=imread(cameraman.tif);nfun=median;nB=nlfilter(A,3 3,fun);nimshow(A),figure,imshow(B)提高matlab的运行效率l数组预分配l循环向量化l简单函数内敛话数组预分配lx=2;lx(3,6)=6nx=n 0 0 0 0 0 0n 0 0 0 0 0 0n 0 0 0 0 0 6l自动调整矩阵的能力,会极大的增加系统开销,影响程序运行效率数组预分配n例如:nclcnclearnticna(1)=1;nb(1)=0;nfor k=2:8000n a(k)=0.99803*a(k-1)-0.06279*b(k-1);n b(k)=0.06279*a(k-1)+0.99803*b(k-1);nendntocnt=tocn输出:nt=n 0.1369数组预分配n例如:nclc;clearnticna=zeros(1,80000);nb=zeros(1,80000);na(1)=1;b(1)=0;nfor k=2:8000n a(k)=0.99803*a(k-1)-0.06279*b(k-1);n b(k)=0.06279*a(k-1)+0.99803*b(k-1);nendntoc;nt=tocn输出:nt=n 0.0016循环向量化nMATLAB是矩阵语言为矢量和矩阵操作设计的。要尽可能把要进行的计算编写成用矢量和矩阵运算的形式nclc;clearntic简单函数内敛化nMATLAB在调用任何一个函数时,除了函数本身执行的开销外,还要为函数调用增加额外开销n如果一段循环执行的代码中频繁的调用函数,这种函数调用对程序的运行效率影响非常明显n建议对功能非常简单的函数,如果在循环执行代码中需要反复调用它们的话,可以将这些简单函数的实现直接设计到自己代码中,这样可以提高运行效率简单函数内敛化n例如:nfunction a=ff(n)nif(n=1)n a=1;nelseif(n=2)n a=0;nelseif(n=3)n a=1;nelsen a=ff(n-1)-2*ff(n-2)+ff(n-3);nendn主函数main:nclcnClearnticnfor i=1:20nfac=zeros(1,20)nfac(i)=ff(i)nendntocnt=tocn输出:nt=n 767.4349简单函数内敛化n例如:nclcnclearnticnf(1)=1;nf(2)=0;nf(3)=1;nfor n=4:20n f(n)=f(n-1)-2*f(n-2)+f(n-3);nendntocnt2=tocn输出:nt 2=n 0.00006小结n掌握matlab图像的数据类型及转换函数n掌握图像文件的读取和显示方法n掌握图像的运算n熟悉提高图像运行效率的方法

    注意事项

    本文(《图像处理基础》PPT课件.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开