第五篇 Matlab图像处理_第1页
第五篇 Matlab图像处理_第2页
第五篇 Matlab图像处理_第3页
第五篇 Matlab图像处理_第4页
第五篇 Matlab图像处理_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五篇 Matlab图像处理1数字图像的概念下标表示了当前像素点在图像中的位置;表示了图像当前位置的亮度或灰度;2数字图像的形成 一幅数字图像由许多个像素组成,像素也是数字图像的单位之一;胶片(模拟)图像的单位为长度,如寸、毫米等等,1英寸证明照的尺寸为3.6cm2.7cm; 2英寸证明照的尺寸是3.5cm5.3cm; 5英寸照片的尺寸为12.7cm8.9cm; 数字图像的生成就是为每个像素填上需要的颜色值。 数码相机、摄像机、扫描仪等设备。3 图像处理是对数字图像进行各种操作,如亮度、对比度调整,去噪、边缘检测、压缩、分割和目标识别等工作; RGB彩色图像是由三幅独立的红、蓝、绿分量图像组成

2、,对彩色图像的处理可以转化为对三基色分量图像的处理;1、Matlab图像处理工具箱常用命令1)图像读取I=Imread(path or name)I,map=Imread(path or name)42)显示图像Imshow(I)Imshow(I,map)Imshow(I,low,high) Imshow(I, )格式描述后缀TIFF标签图像文件格式 .tif .tiffJPEG联合图像专家组.jpg .jpegGIF图形交换格式(imwrite unuse).gifPNG可移植网络图形.pngBMPWindows位图.bmpXWDX Windows转储.xwd5I待显示图像矩阵map灰度级别

3、,默认为256low,high为灰度最大、最小值,小于为0,大于为255;将low设置为矩阵I的最小值,high设置为I的最大值;3)pixval 交互显示单个像素的亮度值;显示欧几里得距离;4)imfinfo 获得图像文件信息;65)size(I) 获得图像矩阵大小;6)保存图像 imwrite(I,) imwrite(I,map,) I待保存的图像矩阵;图像保存路径;fmt图像保存格式;7)改变图像大小 B = imresize(I, scale) B = imresize(I, mrows ncols) B,newmap = imresize(I, map, scale)7实例:5-1.

4、m2、图像分类1)灰度图像(亮度) 灰度图像可分为8位和16位两种,像素数据类型为uint8和uint16,分别对应0 255、0 655352)二值图像 像素取值只能为0或1;逻辑矩阵;B=logical(A) 非零为1;Islogical 判断是否为逻辑矩阵;Sample:5*5大小矩阵,按图像显示83)索引图像 索引图像包括调色板和图像数据两部分,是把颜色进行排列、编号,图像数据对应为该点像素的颜色序号而非颜色本身; 调色板为m3矩阵,每一行代表一种颜色,各元素的值介于0,1之间,乘以255来表示实际值;实例:5-2.m4)真彩(RGB)图像 由三基色RGB组合各种颜色值,每一幅真彩图像

5、由三个基色分量图组合而成。9真彩图像灰度图像近似平均 R=G=B=(R+G+B)/3亮度方程 三基色与白光之间的数学关系,即三基色按什么比例组合可以生成白光;R=G=B=0.3R+0.59G+0.11B实例:5-3.m红蓝紫红绿黄蓝绿青黄红橙黄蓝绿红蓝绿白 103、图像类型转换 根据需求,将图像在不同类型间进行转换;索引图像,无法直接滤波;1)dither 通过抖动算法转换图像类型;X = dither(RGB, map) 抖动算法将RGB图像按指定的调色板map转换为索引图像X;BW = dither(I) 将灰度图像通过抖动算法转换为二值图像;2)im2bw 通过设置亮度阈值,把真彩图像、

6、索引图像以及灰度图像转换为二值图像;11BW = im2bw(I, level) 灰度图-二值图BW = im2bw(X, map, level) 索引图-二值图BW = im2bw(RGB, level) 真彩图-二值图3)ind2gray 将索引图转换为灰度图像,命令去除了索引图像的色度和饱和度信息,而仅保留了亮度信息;I = ind2gray(X,map)4)ind2rgb 将索引图转换为真彩图像,命令把调色板中的颜色值赋给了图像矩阵;12I = ind2rgb(X,map)5)mat2gray 将数据矩阵转换为灰度图像;I = mat2gray(A, amin amax)I = mat

7、2gray(A)6)gray2indX, map = gray2ind(I,n) 灰度图-索引图X, map = gray2ind(BW,n) 二值图-索引图137)grayslice 通过设定阈值将灰度图像转换为索引色图;X = grayslice(I, n)把灰度图像均匀量化为n个等级,然后转换为伪彩色图像;8)rgb2gray 真彩图像转换为灰度图像,或将彩色调色板转换为灰度调色板;X = rgb2gray(A)149)rgb2ind 真彩图像转换为索引图像;X,map = rgb2ind(RGB, n) 调色板含n中颜色X = rgb2ind(RGB, map)实例:5-4.m4、颜色

8、空间 颜色空间是表示颜色的 一种数学方法,人们用它来指定和产生颜色,使颜色形象化。颜色空间中的颜色通常使用代表三个参数的三维坐标来指定,这些参数描述的是颜色在颜色空间中的位 置。被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象。 15 颜色空间按基本结构可分为两大类:1)基色颜色空间;其典型结构有 RGB,还包括 HSI, HSL和HSV等,计算机图形显示就属于这类颜色空间 ;2)色、亮分离颜色空间;其典型结构包括 YCC/YUV、Lab等,主要用于电视广播系统,其目的是通过压缩色度信息以有效地播送彩色电视图像。CIE XYZ是由国际照明委员会定义的颜色空间,通常作为

9、国际性的颜色空间标准,用作颜色的基本度量方法。 CIE定义一切颜色空间的基准,它即属于基色颜色空间,也属于色、亮分离颜色空间,是贯穿两者的枢纽。16常用的颜色空间亮度(lightnessorintensityorluminance):亮度是光作用于人眼所引起的明亮程度的感觉,它与被观察物体的发光强度有关,主要表现光的强和弱;色调(hue):色调是当人眼看一种或多种波长的光时所产生的色彩感觉,它反映颜色的种类,是决定颜色的基本特征;饱和度(saturation):饱和度是指颜色的纯度即掺入白光的程度,表示颜色深浅的程度;1)RGB 用于计算机图形学中,采用红、绿和蓝来生成目标颜色;结构简单,但存

10、储较费带宽; 微软和惠普曾推出一个叫standardRGB的色域标准(sRGB),是一个基于32位PC机的标准。 sRGB只是人17眼能辨别的色彩空间的一部分,而很多色彩都无法显示。但这个标准还是被广泛接受。我们现在在使用的显示器、扫描仪、打印机、数码相机,许多都使用这个标准。03年,微软又推出了scRGB色域标准,它拓展了色域范围,全部复盖人眼可见的色域范围其16位的精度也大大超过8位的sRGB。2)YUV颜色空间 主要用于视频系统中,其中Y代表亮度,UV代表色度。亮度是通过RGB输入信号来建立的,它将RGB信号的特定部分叠加到一起。色度则定义了颜色的两个方面,饱和度(saturation)

11、与色调(hue) ,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。 18gamma校准的RGB与YUV颜色空间的转换:Y=0.299R+0.587G+0.114BU=-0.147R-0.289G+0.436BV=0.615R-0.515G-0.100BR=Y+1.140VG=Y-0.395U-0.581VB=Y+2.032U3)CMYK颜色空间 主要用于彩色打印,也称印刷色彩模式,CMY是3种印刷油墨名称的首字母:青色Cyan、洋红色Magenta、黄色Yellow,而K取的是bla

12、ck最后一个字母。RGB模式是一种发光的色彩模式,CMYK则是一种依靠反光的色彩模式。 19Matlab的颜色空间转换指令rgb2ntscntsc2rgbrgb2hsvhsv2rgbrgb2YcbcrYcbcr2rgb205、其它图像显示相关命令1)image image(I),colormap(map) image命令用于显示I矩阵表示的图像,索引图像必须使用调色板;2)montage 多帧图像,四维,HDF、TIFF;实例:5-6.m,创建一个四帧图像,并在一幅图中显示;213)immovie 以动画方式显示图像各帧,既将各帧图片转换为matlab动画格式;只能用索引图像;mov=immo

13、vie(X,map)实例:5-7.m4)subimage subplot以子图方式在一个图像窗口中显示多幅图像,但整个图像窗口采用一个调色板,subimage可以在各个子图中采用各自的调色板;实例:5-8.m225)zoom 缩放图像zoom on,zoom off 打开或关闭缩放功能zoom out 恢复图像的原始尺寸zoom reset 以当前图像尺寸作为缩放起点zoom xon,zoom yon 设置X或Y轴缩放功能6)warp 纹理映射 imshow显示的图像在二维平面上,纹理映射可以把图像显示在其他类型的表面,如柱面、球面等等;warp(x,y,z,I) 把图像I显示在平面(x,y,

14、z)实例:5-9.m23图像的几何操作图像的缩放、旋转、分割、剪切都属于几何操作。图像插值缩放等操作时的像素取法1、图像插值运算1)最近邻插值 nearest neighbor interpolation 每个插值输出像素的值就是输入图像中与其最近的采样点的值;它是matlab图像处理工具箱默认的插值方法,计算量小、速度快,对索引图像来说是唯一的方法。但当图像中含有较多高频分量时,会造成放大后的块状效应;242)双线性插值 bilinear interpolation 其输出像素值是它在输入图像位置上22邻域内四个像素的平均值,即由某个像素周围四个像素的灰度值在水平和垂直两个方向进行插值;3)

15、双三次插值 bicubic interpolation 其输出像素值是它在输入图像位置上44邻域内16个像素的平均值;插值效果的提升带来了大量的计算,插值算法是目前研究的一项内容;252、 imresize 图像插值缩放B = imresize(A, scale) 输入图像A可以是灰度图、二值图或RGB真彩图,scale是缩放比例,大于0;B = imresize(A, mrows ncols) mrows ncols用于指定目标图像的尺寸,如果希望保持长宽比缩放,可以只指定一个参数,另一置为NaN;Y newmap = imresize(X, map, scale/ mrows ncols)

16、 输入图像A是索引图,缩放比例或尺寸采用上两种均可;. = imresize(., method) method用来指定缩放插值方法,nearest、bilinear、bicubic;实例:5-10.m263、 imrotate 图像插值旋转B = imrotate(A, angle, method) 旋转后图像超过原图像的部分默认置为0,method用来指定缩放插值方法,nearest、bilinear、bicubic;B = imrotate(A, angle, method,crop) 可以采用crop参数对旋转后图像进行剪切,实例:5-11.m274、 imcrop 图像的剪切 从原始

17、图像中剪切一个矩形子图,指定矩形顶点的坐标及长宽,或鼠标选取;B = imrotate(A, angle, method) 旋转后图像超过原图像的部分默认置为0,method用来指定缩放插值方法,nearest、bilinear、bicubic;B = imrotate(A, angle, method,crop) 可以采用crop参数对旋转后图像进行剪切,实例:5-12.m28图像邻域和块操作1、滑块邻域操作 滑块邻域是一组像素,操作对象为邻域中心的像素。对于mn的滑块邻域,其中心像素的位置为: floor ( ( m,n+1 ) / 2 )m=2,n=3 floor(2,3+1)/2)=f

18、loor(3,4/2)=1,229滑动邻域操作的步骤:1)选择像素;2)确定滑动邻域的大小;3)根据需要,选择函数对邻域内像素操作;4)计算结果作为输出图像的该点像素值;5)按1-4遍历原图像中的所有像素;邻域操作函数1)colfilt 快速邻域操作,为每一个像素建立一个列向量,向量元素对应于该像素邻域的元素;30B = colfilt(A,m n,block_type,fun)B = colfilt(A,m n,mblock block,block_type,fun)m,n 滑块大小block_t ypedistinct 图像块不重叠sliding 图像块滑动fun 块运算函数实例:5-13

19、.m312)nlfilter 通用滑动窗操作函数,为每一个像素建立一个列向量,向量元素对应于该像素邻域的元素;B = nlfilter(A, m n, fun)m,n 滑块大小fun 块运算函数实例:5-14.m2、图像块操作 把图像矩阵分成同样大小的子块(子矩阵),图像操作转化为矩阵运算,提高处理速度。 图像压缩 图像分析32图像块相关函数1)bestblk 块尺寸选择函数siz = bestblk(m n,k)mb,nb = bestblk(m n,k) 返回mn维图像的块划分值siz,或mb,nb为划分图像块的行数和列数,k图像块长度或宽度的最大值; siz=bestblk(1024 7

20、68,16)siz = 16 16 m,n=bestblk(1024,768,10)m = 8n = 8332)blkproc 块操作函数B = blkproc(A,m n,fun)B = blkproc(A,m n,mborder nborder,fun) 以mn大小的图像块划分对图像矩阵A做函数fun运算;mborder nborder为扩展边界,实际图像块大小为m+2mborder n+2nborder;实例:5-15.m3)col2im 把列向量排列成图像块A = col2im(B,m n,mm nn, block_type) 把图像B的每一列重新排列成mn的图像块,按排列类型最终形成

21、一个mmnn的图像;block_t ype distinct 图像块不重叠 sliding 图像块滑动344)im2col 把图像块排列成列向量B = im2col(A,m n,block_type) 把图像A的每一个mn的图像块,重新组合成图像B;实例:5-16.m3、图像区域划分 二值掩膜处理1)roipoly 多边形区域选择BW = roipoly(I)BW = roipoly(I, c, r)实例:5-17.m352)roicolor 按灰度选择区域BW = roicolor(A,low,high)BW = roicolor(A,v)按指定的灰度范围,low-high来分割图像,logical或按照向量v中指定的灰度值来选择区域;实例:5-18.m4、特定区域滤波

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论