版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十讲MATLAB在数字图像处理中的应用
1主要内容10.1图像处理仿真模块介绍10.2图像的增强10.3图像的几何变换210.1图像处理仿真模块介绍视频和图像处理模块库视频和图像处理模块库分析和增强转换模块滤波模块库几何变换接收器模块库:输入源模块库:工具模块基础知识数字图像的概念定义:一幅图像可以用一个2-D数组f(x,y)来表示,这里x和y表示2-D空间坐标点,而在任何一对空间坐标(x,y)上的幅值f称为该点图像的强度或灰度。当x,y和幅值为有限的、离散的数值时,称该图像为数字图像。图像是图像的数字表示,像素是其最小的单位。由于矩阵是二维的,所以可以用矩阵来描述数字图像描述数字图像的矩阵一般采用的是整数阵,即每个像素的亮暗,用一个整数来表示。位图属于静态图像,位图主要包括黑白图像、灰度图像和彩色图像等。图像的格式包括:BMP图像、TIF图像、GIF图像、JPEG图像等。黑白图像是指图像的每个像素只能是黑或者白,没有中间的过渡,故又称为2值图像,其像素值为0、1。灰度图像是指每个像素的信息由一个量化的灰度级来描述的图像,没有彩色信息。在灰度图像中,像素灰度级一般用8bit表示,所以每个像素都介于黑色(0)和白色(255)之间的256种灰度中的一种,即2^8=256。彩色图像(RGB图像)是指每个像素的信息由RGB三原色构成的图像,其中RGB是由不同的灰度级来描述的。彩色图像不能用一个矩阵来描述了,一般是用三个矩阵同时来描述。一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相似点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。按照惯例,形成一幅RGB彩色图像的三个图像常称为红、绿或蓝分量图像。令fR,fG和fB分别代表三种RGB分量图像。一幅RGB图像就利用cat(级联)操作将这些分量图像组合成彩色图像:
rgb_image=cat(3,fR,fG,fB)在操作中,图像按顺序放置。
I=imread(‘原图像名.tif’);%读入原图像,tif格式若不是MATLAB自带图像则I=imread(‘路径+文件名.格式’)whosI%显示图像I的基本信息imshow(I)%显示图像imwrite(I,'filename.bmp');%以位图(BMP)的格式存储图像%显示多幅图像,其中n为图形窗口的号数figure(n),imshow('filename');gg=im2bw('filename');%将图像转为二值图像figure,imshow(gg)%显示二值图像基础知识:图像的坐标系矩阵是按照行列的顺序来定位数据的,但是图像是在平面上定位数据的,所以有一个坐标系定义上的特殊性。为了编程方便起见,这里以矩阵坐标系来定义图像的坐标。(1)紧凑矩阵表示(2)传统矩阵表示形式数字图像的表示10.2图像增强图像增强是指根据特定的需要有选择地突出图像中的某部分信息,并抑制某些不需要的信息的处理方法,其目的就是改善图像的视觉效果,便于观看或做进一步分析处理。空域法:直接对图像的像素点进行操作来改变图像的显示效果。主要包括灰度变换、直方图修正、图像平滑滤波(低通滤波,模糊或消除噪声)和锐化滤波(高通滤波,增强被模糊的细节)等。频域法:间接地通过对图像的某个变换域进行操作来改善显示效果。主要包括频域增强和色彩增强等。空域和频域滤波器的关系和选择空域和频域的滤波器组成傅立叶变换对;频率域中的滤波器的转移函数和空域中的脉冲响应函数或点扩散函数构成傅立叶变换对;如果两个滤波器尺寸相同,借助傅立叶变换一般效率很高;但是在空域中很小的滤波器有时可以达到相似的滤波效果,则效率高;在频率域中分析图像的频率成分与图像视觉效果间的对应关系比较直观。频域可以解决空域难以解决的问题;频域设计滤波器比较方便,先设计频域滤波器,对其反变换,得到空域滤波器,空域滤波在硬件和软件上容易实现。10.2.1空间域法“空间域增强”是指增强构成图像的像素。空间域方法是直接对这些像素操作的过程。空间域处理可由下式定义g(x,y)=T[f(x,y)]1)灰度变换灰度变换:将一个灰度区间映射到另一个灰度区间的变换称为灰度变换。灰度变换可使图像动态范围加大,图像对比度扩展,图像清晰,特征明显,是图像增强的重要手段。处理前后的像素值分别用r和s定义,s=T(r),T是把像素r映射到s的一种变换。【例10-1】用对比度调节ContrastAdjustment模块进行直接灰度变换。操作步骤:(1)打开一个新模型窗口(2)在新建模型窗口中加入所需模块,各模块名称、数量、来源如表10-1所示,模块放置位置可参考图。
模块名称模块来源数量ImageFromFileVideoandImageProcessingBlockset>Sources1ContrastAdjustmentVideoandImageProcessingBlockset>Analysis&Enhancement1VideoViewerVideoandImageProcessingBlockset>Sinks2(3)双击图所示的各模块,对其进行参数设置:
ImageFromFile模块:Main面板中的Filename参数设置为pout.tif;
ContrastAdjustment模块:Main面板中的Adjustpixelvaluesfrom参数设置为Rangedeterminedbysaturatingoutlierpixels。(4)连接各模块,如下图所示。
(5)设置仿真器参数。选择模型窗口的Simulation->ConfigurationParameters菜单,打开ConfigurationParameters对话框,在左边窗格中选择Solver面板,在右边窗格设置Stoptime为0,Type设为Fixed-step,Solver设为Discrete(nocontinuousstates)。单击OK按钮结束设置。(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图是经ContrastAdjustment模块处理后的图像。
调用函数实现灰度变换增强imadjust()功能:调整图像灰度值或颜色映像表。语法:J=imadjust(I,[lowhigh],[bottomtop])%I代表要读取的图像,low,high,bottom,top表示灰度级
RGB2=imadjust(RGB1,...)举例
I=imread('pout.tif');J=imadjust(I,[0.30.7],[01]);%即将0.3到0.7的灰度级扩展到范围[01]
figure,imshow(I),figure,imshow(J)K=imadjust(I);figure,imshow(K)原始图像修改参数后默认参数2)直方图处理直方图表示了数字图像中每一灰度级与其出现频数(该灰度像素数目)间的统计关系。用横坐标表示灰度级,纵坐标表示频数。直方图能给出该图像的大致描述,如图像的灰度范围、灰度级的分布、整幅图像的平均亮度等。灰度级在[0,L-1]范围内的数字图像的直方图是离散函数
,经常是用图像的像素总数n除它的每一个值得归一化的直方图,因此归一化的图像灰度统计直方图可表示如下:四种基本类型图像的直方图暗图像亮图像低对比度图像高对比度图像1.直方图均衡
直方图均衡又称为直方图平坦化,是将已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,其结果是扩展了象元取值的动态范围,从而达到增强图像整体对比度的效果。
第
灰度级出现的概率为
此时变换函数可表示为24
根据原图像的直方图统计值就可算出均衡化后各象元的灰度值。以8级灰度图像为例说明直方图均衡化算法:(1)统计原始灰度图像的直方图的各灰度级
的像素
(k=0,1,…,7);(2)用
计算原始直方图;
(3)用(2)的计算结果来计算累积直方图25
(4)取整
,N=8;
(5)建立映射对应关系
,
k=0,1,…,8)(6)按照上述对应关系将原始灰度图像中灰度为
的替换
,重新显示图像。26假设一幅64×64,8bit灰度图像,其概率分布见右表,试进行直方图均衡化处理。解,依题意有:n=4096,Pr(r0)=790/4096=0.19(取小数点后两位)原始直方图横坐标表示灰度级,纵坐标表示概率累积直方图均衡化后的直方图均衡化后的曲线表图2.直方图规定化(直方图匹配)直方图均衡化和规定化特点直方图均衡化的优点是能自动的增强整体图像的对比度,但是它的具体增强效果却不易控制,处理的结果总是得到全局均衡化的直方图。直方图规定化可以有选择的增强某个灰度值范围内的对比度或使图像灰度值的分布满足特定的要求。没有规定化直方图的规定,对于任何一个给定的增强任务都必须借助于实际分析
举例如图所示的井下监视图像明暗分布不均,而且灰度范围比较窄,用直方图调整的方法对该图像进行增强。由上图可以看出其直方图多密集在一起位于左侧,说明图像绝大多数像素点的灰度值比较集中且图像整体偏暗,使得图像信息不够丰富,图像结构不够清晰。我们可以通过直方图均衡的方法对该图像进行增强。直方图均衡化与规定化比较经过均衡化后,原来图像中较暗区域的一些细节更清晰。进行直方图规定化后的图像如上图所示,可以看出经过直方图规定化处理后的图像灰度间距打开,使图像变得较为清晰,图像细节也突出了。直方图规定化直方图均衡化对于煤矿视频监控系统图像增强非常有用,但它只能产生一种形式的直方图,从而限制了这种方法的效能,使得它不适于交互作用的图像增强的应用。在交互处理中,常常希望根据某副标准图像效能或已知图像的直方图来修改原图像,有时甚至直接给出直方图的形状,希望找到某个灰度级的变换,使得原图像的直方图编程某个给定的形式,这就要用直方图规定化。【例10-2】用直方图均衡化HistogramEqualization模块进行直方图修正。操作步骤:(1)使用与例10-1同样的方法,新建一个Simulink模型。(2)在新建模型窗口中加入所需模块,各模块名称、数量、来源如下表所示,模块放置位置可参考下页中的示意图。模块名称模块来源数量ImageFromFileVideoandImageProcessingBlockset>Sources1HistogramEqualizationVideoandImageProcessingBlockset>Analysis&Enhancement1VideoViewerVideoandImageProcessingBlockset>Sinks2(3)双击模型窗口中的各模块,对其进行参数设置:
ImageFromFile模块:Main面板中的Filename参数设置为tire.tif;
其余模块:各参数均采用默认设置;(4)连接各模块,如下图所示。(5)设置仿真器参数。设置Stoptime为0,Type设为Fixed-step,Solver设为Discrete(nocontinuousstates)。(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图是经HistogramEqualization模块处理后的图像。由结果可看出,这幅黑色为主的图像经过HistogramEqualization模块进行直方图均衡化处理后,对比度得到增强,原来黑色区域的图像细节得以显示。调用函数实现imhist(I)%显示图像I的直方图histeq(I)%显示图像I进过直方图均衡化后的图像例如:
I=imread('tire.tif');J=histeq(I);subplot(2,2,1),imshow(I);subplot(2,2,2),imhist(I,256);subplot(2,2,3),imshow(J);subplot(2,2,4),imhist(J,256);J=histeq(I);直方图均衡化的图形比较3)图像平滑增强图像平滑处理一般通过低通滤波实现,例如均值滤波和中值滤波。获取的主要增强效果是平滑图像细节,去除图像噪声。【例10-3】用中值滤波MedianFilter模块去除椒盐噪声。(所谓的椒盐噪声即脉冲噪声,其脉冲噪声值雷诗雨随机分布在图像上的胡椒和盐粉微粒。)操作步骤:(1)在MATLAB命令窗口中输入以下命令:A=imread('coins.png');%coins.png是一幅MATLAB自带的样图。B=imnoise(A,'salt&pepper',0.02);(2)打开视频和图像处理模块集,新建Simulink模型。(3)在新建模型窗口中加入所需模块,各模块名称、数量、来源如下表所示,模块放置位置可参考下页中示意图。
(4)双击模型窗口中的各模块,对其进行参数设置:
ImageFromWorkspace模块:Main面板中的Value参数设置为A;
ImageFromWorkspace1模块:Main面板中的Value参数设置为B;
MedianFilter模块:各参数均采用默认设置;(5)连接各模块,如下页图所示。模块名称模块来源数量ImageFromWorkspaceVideoandImageProcessingBlockset>Sources2MedianFilterVideoandImageProcessingBlockset>Analysis&Enhancement1VideoViewerVideoandImageProcessingBlockset>Sinks3表10-3例10-3所用模块列表(6)设置仿真器参数。设置Stoptime为0,Type设为Fixed-step,Solver设为Discrete(nocontinuousstates)。例10-3仿真框图(7)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,中图为加入椒盐噪声后的图像,右图是经MedianFilter模块处理后的图像。对比三幅图像可以看出,加入椒盐噪声后的图像经过MedianFilter模块进行图像平滑处理后,椒盐噪声被去除,同时其余的图像细节也被平滑。
调用函数实现imnoise()
功能:增加图像的渲染效果。语法:J=imnoise(I,type)J=imnoise(I,type,parameters)举例
I=imread('eight.tif');J=imnoise(I,'salt&pepper',0.02);imshow(I)figure,imshow(J)4)图像锐化增强
图像锐化处理一般通过高通滤波实现。获取的主要视觉效果是增强图像边缘,补偿图像轮廓,使原来模糊的图像变得清晰。【例10-4】用FIR滤波器2-DFIRFilter模块进行图像锐化处理。操作步骤:(1)先读入一幅RGB图像。在MATLAB命令窗口中输入以下命令:I=im2double(imread('peppers.png'));%peppers.png是MATLAB自带样图。(2)打开视频和图像处理模块集,新建Simulink模型。(3)在新建模型窗口中加入所需模块,各模块名称、数量、来源如下表所示,模块放置位置可参考后页的仿真框图。
(4)双击模型窗口中的各模块,对其进行参数设置:
ImageFromWorkspace模块:Main面板中的Value参数设置为I,Imagesignal参数设置为Separatecolorsignals;
ColorSpaceConversion模块:Conversion参数设为R'G'B'toY'CbCr(默认设置),Imagesignal参数设为Separatecolorsignals;2-DFIRFilter模块:将Main面板中的Coefficients参数设置为fspecial('unsharp')以建立二维高通滤波器,Outputsize参数设为SameasinputportI,Paddingoptions参数设为Symmetric,Filteringbasedon参数设为Correlation。模块名称模块来源数量ImageFromWorkspaceVideoandImageProcessingBlockset>Sources1ColorSpaceConversionVideoandImageProcessingBlockset>Conversions22-DFIRFilterVideoandImageProcessingBlockset>Filtering1VideoViewerVideoandImageProcessingBlockset>Sinks2表10-4例10-4所用模块列表
ColorSpaceConversion1模块:Conversion参数设为Y'CbCrtoR'G'B',Imagesignal参数设为Separatecolorsignals;
两个VideoViewer模块:均将Imagesignal参数设为Separatecolorsignals。(5)按下图所示连接各模块。例10-4仿真框图(6)设置仿真器参数。设置Stoptime为0,Type设为Fixed-step,Solver设为Discrete(nocontinuousstates)。(7)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图为经2-DFIRFilter模块锐化后的图像。对比两幅图像可以看出,原始图像经过高通滤波器进行图像锐化处理后,图像中物品的轮廓更加明显,图像显得更加清晰了。函数调用法求二维中值过滤medfilt2功能:进行二维中值过滤。语法:B=medfilt2(A,[mn])B=medfilt2(A)B=medfilt2(A,'indexed',...)举例
I=imread('eight.tif');J=imnoise(I,'salt&pepper',0.02);K=medfilt2(J);imshow(J)figure,imshow(K)
习题若已知灰度级以及灰度级概率分(直方图),如何求解均衡化处理后的直方图。10.3图像的几何变换10.3.1图像的旋转
图像的旋转可通过几何变换模块库中的Rotate模块实现。【例10-5】用Rotate模块将图像逆时针旋转45°角。操作步骤:(1)打开视频和图像处理模块集,新建Simulink模型。(2)在新建模型窗口中加入如下表所示的各个模块,模块放置位置可参考下页所示模块连接图。
模块名称模块来源数量ImageFromFileVideoandImageProcessingBlockset>Sources1RotateVideoandImageProcessingBlockset>GeometricTransformations1VideoViewerVideoandImageProcessingBlockset>Sinks2表5-5例5-5所用模块列表(3)双击模型窗口中的各模块,对其进行参数设置:
ImageFromFile模块:Main面板中的Filename参数设置为autumn.tif;
Rotate模块:Main面板中的Angle(radians)参数设置为pi/4;(即45°角)(4)按下图所示连接各模块。(5)设置仿真器参数。设置Stoptime为0,Type设为Fixed-step,Solver设为Discrete(nocontinuousstates)。(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图为经Rotate模块旋转45°后的图像。
10.3.2图像的切变几何变换模块库中的Shear模块提供了水平和垂直两个方向的线性切变功能。【例10-6】用Shear模块完成图像的水平切变。操作步骤:(1)打开视频和图像处理模块集,新建Simulink模型。(2)在新建模型窗口中加入如下表所示的各个模块,模块放置位置可参考下页所示的模块连接图。模块名称模块来源数量ImageFromFileVideoandImageProcessingBlockset>Sources1ShearVideoandImageProcessingBlockset>GeometricTransformations1VideoViewerVideoandImageProcessingBlockset>Sinks2(3)双击模型窗口中的各模块,按自已的需要对其进行参数设置:
ImageFromFile模块:Main面板中的Filename参数设置为office_4.jpg;
Shear模块:Main面板中的Sheardirection参数设置为Horizontal(默认设置);Row/columnshearvalues[firstlast]设置为[1000];(4)按下图所示连接各模块。(5)设置仿真器参数。设置Stoptime为0,Type设为Fixed-step,Solver设为Discrete(nocontinuousstates)。(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图为经Shear模块进行水平切变后的图像。可以看出,按照本例中Shear模块设置的偏移量参数[1000],目标图像首行像素被移动到水平右偏100像素的位置,其余各行的偏移量线性递减,至最后一行偏移量为0,以此构成切变效果。10.3.3图像的缩放利用几何变换模块库中的Resize模块,可方便地实现图像缩放功能。【例10-7】用Resize模块缩小图像。操作步骤:(1)打开视频和图像处理模块集,新建Simulink模型。(2)在新建模型窗口中加入如表5-7所示的各个模块,模块放置位置可参考下页中所示图。
模块名称模块来源数量ImageFromFileVideoandImageProcessingBlockset>Sources1ResizeVideoandImageProcessingBlockset>GeometricTransformations1VideoViewerVideoandImageProcessingBlockset>Sinks2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管线改造合同范本
- 海淀区农村集体经济合同管理办法
- 合同裁判共同规则
- 角膜炎的治疗与护理
- 2024-2025学年新教材高中地理第五章自然环境的整体性与差异性单元评价含解析湘教版选择性必修一
- 2024房产抵押贷款的合同协议书
- 英文调查报告(共16篇)
- 精准营销策略15篇
- 无人机技术的应用前景
- 2024店面租赁合同模板「标准版」
- “小金库”治理与防范 习题及答案
- 王伟核桃经济价值及加工利用
- 新生儿胎粪吸入综合征临床路径标准住院流程及路径表单
- 氯化钠特性表
- 钻井井架起升钢丝绳管理台账
- 单片机原理与应用说课
- 船舶租赁尽职调查
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
- GB/T 11270.2-2021超硬磨料制品金刚石圆锯片第2部分:烧结锯片
- 植物生理学-植物的逆境生理
- 2017大专病理课件4局部血液循环障碍l
评论
0/150
提交评论