还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机科学与信息学院《数字图像处理》实验指导书适用专业信息安全、网络工程、计算机贵州大学二O一三年五月前 言本指导书是根据数字图像处理教学大纲和实验大纲编写的,在教学过程中指导学生实验时使用运用MATLAB软件平台,结合图像处理工具箱,对图像处理相关算法进行编程和实现通过学生上机操作实践与教师指导,使学生深入理解和掌握数字图像处理的技术和方法,增强处理实际问题的能力考虑到《数字图像处理》课程的自身特点,以及软件的升级更新性,本实验指导书具有适应性本实验指导书主要适用于计算机科学与信息学院的各个相关专业目录TOC\o1-1\u实验一 图像基本操作4实验二 图像增强8实验三 图像分割13实验四汽车牌照自动识别18实验报告的基本内容及要求20贵州大学实验报告21实验一 图像基本操作实验学时2实验类型验证实验要求必做
一、实验目的利用MATLAB软件,熟悉图像的数据矩阵操作、图像的类型转换及图像的存储等基本操作
1.熟悉图像矩阵的基本操作
2.掌握图像数据类型转换及图像类型转换
3.掌握图像文件的读写
4.掌握图像及灰度图像直方图的显示
5.掌握图像缩放和旋转
二、实验原理和方法
1.关于图像矩阵MATLAB中图像数据以矩阵方式的存储所以有必要学会关于矩阵的操作,由于篇幅有限,这里只作简要的介绍生成矩阵的函数有eye生成单位矩阵ones全1阵zeros全零阵rand均匀随机阵randn正态随机阵
2.图像数据类型及图像类型
2.1图像数据类型转换MATLAB中图像数据矩阵的存储方式为双精度double类型即64位浮点数而存储图像时MATLAB有时采用无符号整型(uint8即图像矩阵中的每个数据占用一个字节由于大多数运算和函数比如最基本的矩阵加减运算都不支持uint8类型,所以运算时通常要将图像转换成double型函数double将数据转换为双精度浮点类型,调用格式为X64=doublex8/
2562.2 图像类型及转换在MATLAB中,一幅图像可能包含一个数据矩阵,也可能有一个颜色映像表矩阵MATLAB图像处理工具箱支持四种图像类型,其区别在于数据矩阵元素的不同含意它们是真彩色图像索引图像灰度图像二值图像(1)真彩色图像真彩色图像又称RGB图像,对于一个尺寸为M×N的彩色图像来说,在MATLAB中则存储为一个M×N×3的多维数组,像素的颜色由保存在像素位置上的R、G、B的强度值的组合来确定如果需要知道图像A中(x,y)处的像素值,则可以使用这样的代码A(xy1:3)(2)索引图像MATLAB中的索引图像包含两个结构,一个是调色板,一个是图像数据矩阵调色板是一个m×3的色彩映射矩阵,矩阵的每一行都代表一种色彩,与真彩色图像相同,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定的颜色调色板通常和索引图像存在一起,当读入图像时,MATLAB同时加载调色板和图像(3)灰度图像灰度图像就是只有强度信息,而没有颜色信息的图像存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应位置像素的灰度值,灰度图像的数据类型可以是doubIe类型,这时值域为
[01],也可以uint8类刑,值域是
[0255](4)二值图像二值图像就是只有黑白两种值的图像,我们可以把它看作是特殊的灰度图像二值图像只需一个数据矩阵来存储,每个像素只取0或1MATLAB提供了若干函数,用于图像类型的转换,这些函数如下所示rgb2gray将RGB图像转换成灰度图像Gray2ind将灰度图像转换成索引图像Im2bw设定阈值将图像转换为二值图像Im2double将图像数据阵列转换为double型Im2unit8将图像数据阵列转换为unit8型Im2unit16将图像数据阵列转换为unit16型Ind2gray将索引图像转换为灰度图像Ind2rgb将索引图像转换成真彩色图像
2.3图像读写及显示MATLAB为用户提供了专门的函数以从图像格式的文件中读写图像数据(1)图像文件的读取利用imread函数可以完成图像文件的读取操作,常见调用格式为A=imreadFILENAMEFMT其作用是将文件名用字符串FILENAME表示的、扩展名用字符串FMT(表示图像文件格式)表示的图像文件中的数据读到矩阵A中如果FILENAME所指的为灰度图像,则A为M×N的二维矩阵;如果FILENAME所指的为RGB图像,则A为M×N×3的三维矩阵(2)图像文件的写入(保存)利用imwrite函数完成图像的写入操作,也完全支持上述各种图像文件的格式,其常用的调用格式为imwriteAFILENAMEFMT(3)图像文件的显示MATLAB的图像处理工具箱提供了多种图像显示技术例如,imshow函数可以直接从文件显示多种类型的图像;image函数可以将矩阵作为图像显示;colorbar函数可以用来显示颜色条imshow函数是最常用的显示各种图像的函数格式为:imshowIn; %显示灰度矩阵I n设置显示的灰度值范围级数,默认值为256imshowRGB %显示真彩色图像imshowfilename %直接显示图像但图像数据不在MATLAB的workspace中可以将多幅图像显示在一个图形窗口中,达到这一目的有两种方法一种方法是联合使用subplot函数和imshow函数,但此方法在一个图形窗口只能有一个调色板;另一种方法是联合使用subplot函数和subimage函数,此方法可在一个图形窗口内使用多个调色板subplot函数将一个图形窗口划分为多个显示区域,其调用格式如下subplotmnpsubplot函数将图形窗口划分为m(行)×n(列)个显示区域,并选择第p个区域作为当前绘图区4灰度直方图的显示MATLAB图像处理工具箱提供了imhist函数来计算和显示图像的直方图,imhist函数的语法格式为imhistInimhistXMAP其中imhistIn计算和显示灰度图像I的直方图,n为指定的灰度级数目,默认值为256imhistXMAP计算和显示索引色图像X的直方图,map为调色板
3.图像的几何运算
3.1图像的缩放MATLAB图像处理工具箱中的函数imresize可以用三种方法对图像进行插值缩放,如果不指定插值方法,则默认为最邻近插值法imresize函数的语法格式为B=imresizeAmmethod返回原图像A的m倍放大的图像(m小于1时效果是缩小)这里参数method用于指定插值的方法,可选用的值为nearest(最邻近法),bilinear(双线性插值),bicubic(双三次插值),默认为nearestB=imresizeA[numrowsnumcols],返回的图像B具有由[numrowsnumcols]指定的行、列数
3.2图像的旋转在工具箱中的函数imrotate可用上述三种方法对图像进行插值旋转,默认的插值方法也是最邻近插值法imrotate的语法格式为B=imrotateAanglemethod函数imrotate对图像进行旋转,参数method用于指定插值的方法,可选用的值为nearest(最邻近法),bilinear(双线性插值),bicubic(双三次插值),默认为nearest一般说来旋转后的图像会比原图大,超出原图部分值为0
三、实验内容和步骤练习图像的读取、显示和保存图像数据,步骤如下1使用命令figure1开辟一个显示窗口2读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示RGB图像、二值图像和灰度图像,注上文字标题3保存转换后的灰度图像和二值图像4在同一个窗口显示转换后的灰度图像的直方图5将原RGB图像的R、G、B三个分量图像显示在figure2中,观察对比它们的特点,体会不同颜色所对应的R、G、B分量的不同之处6将图像放大
1.5倍,插值方法使用三种不同方法,在figure3中显示放大后的图像,比较不同插值方法的结果有什么不同将图像放大到其它倍数,重复实验;7图像顺时针旋转30度,插值方法使用三种不同方法,在figure3中显示旋转后的图像并比较结果有什么不同
四、实验报告基本内容详见附件实验二 图像增强实验学时2实验类型验证实验要求必做
一、实验目的熟悉数字图像增强的一般方法,包括
1.掌握空域变换增强的原理、方法
2.掌握灰度变换的图像增强方法
二、实验原理和方法术语‘空间域’指的是图像平面本身,在空间与内处理图像的方法是直接对图像的像素进行处理空间域处理方法分为两种灰度级变换、空间滤波空间域技术直接对像素进行操作,其表达式为gxy=T[fxy]其中fxy为输入图像,gxy为输出图像,T是对图像f进行处理的操作符,定义在点xy的指定领域内定义点xy的空间邻近区域的主要方法是,使用中心位于xy的正方形或长方形区域,此区域的中心从原点如左上角开始逐像素点移动,在移动的同时,该区域会包含不同的领域T应用于每个位置xy,以便在该位置得到输出图像g在计算xy处的g值时,只使用该领域的像素灰度变换T的最简单形式是使用领域大小为1×1,此时xy处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数当处理单设灰度图像时,这两个术语可以互换由于亮度变换函数仅取决于亮度的值,而与xy无关,所以亮度函数通常可写做如下所示的简单形式s=Tr其中,r表示图像f中相应点xy的亮度,s表示图像g中相应点xy的亮度
1.空间域滤波
1.1噪声模拟图像平滑滤波主要是针对图像的各种噪声而言的,因此需要模拟数字图像的各种噪声来分析滤波效果MATLAB的图像处理工具箱提供了imnoise函数,可以用该函数给图像添加不同种类噪声,其语法格式为J=imnoiseItypeparameters参数Type、parameters对应的噪声类型如下Typeparameters说明Gaussianmv均值为m,方差为v的高斯噪声LocalvarV均值为0,方差为v的高斯白噪声Possion无泊松噪声SaltpepperD噪声密度为D的椒盐噪声SpeckleV均值为0,方差为v的均匀分布随机噪声
1.2均值滤波平滑线形空间滤波的输出(响应)是包含在滤波掩模邻域内像素的简单平均值因此,这些滤波器也称均值滤波器,指的是低通滤波器它是用滤波掩模确定的邻域内像素的平均灰度值代替图像中每个像素点的值,这种处理减小了图像灰度的“尖锐”变化图1显示了两个的平滑滤波器第一个滤波器产生掩模下的标准像素平均值,把掩模系数代入式
(1)(为掩模系数,为与该系数对应的灰度值)即可得
(2)111111111121242121图1两个均值滤波器掩模是由掩模定义的邻域像素灰度的平均值一个掩模应有的归一化常数图1第二种掩模更重要,也称加权平均,处于掩模中心位置的像素比其他任何像素就显得不太重要由于对角项离中心比离正交方向相邻的像素更远,所以它的重要性比与中心直接相邻的四个像素低把中心点加强的最高,而随着距中心加强为最高,而随着距中心点距离的增加减小系数值,是为了减小平滑处理中的模糊所有系数的和是16,2的整数次幂,便于计算机的实现一幅的图像经过一个(和是奇数)的加权均值滤波器滤波的过程可由下式给出3可理解为一幅完全滤波的图像是由对和执行式
(3)得到的
1.3中值滤波统计滤波器是一种非线性的空间滤波器,它的响应基于图像滤波器包围的图像区域中像素的排列,然后用统计排序结果决定的值代替中心像素的值统计滤波器中最常见的例子是中值滤波器,是将邻域内像素灰度的中值代替该像素的值对处理椒盐噪声非常有效
1.4图像滤波函数filter
2、imfilterMATLAB提供了基于卷积的图像滤波函数filter2进行平滑滤波,该函数用指定的滤波器模板对图像进行运算其调用格式为B=filter2hAB=filter2hAshape其中B=filter2hA返回图像A经算子h滤波后的结果,参数shape指定滤波的计算范围,即shape=’full’时,作边界补零shape=’same’时,返回图像B与输入图像A大小相同shape=’valid’时,不考虑边界补零,只计算有效输出部分此外,也可以使用imfilter函数进行卷积或相关性滤波来实现图像平滑该函数的调用格式为B=imfilterAHB=imfilterAHOPTION1OPTION2…其中B=imfilterAH返回图像A经算子h滤波后的结果;B=imfilterAHOPTION1OPTION2…是根据指定的OPTION参数实现图像滤波OPTION参数可以有下列取值边界填充选项对一幅图像进行滤波时,零填充可能会导致图像被一个黑框围绕,为了消除零填充的人工痕迹,imfilter函数支持三种可选的边界填充方法’symmetric’边界对称’replicate’边界复制,缺省值’circular’边界循环输出尺寸选项其选项与filter2函数的shape参数相同滤波选项’corr’使用相关性来进行滤波,缺省使用此方法’conv’使用卷积方法实现滤波以上两个滤波函数的参数h可以是自定义的滤波器模板,也可以是MATLAB提供的预定义滤波器模板函数fspecial生成滤波所用的预定义模板其调用格式为h=fspecialTYPEh=fspecialTYPEPARAMETERS其中参数type指定滤波器的种类,parameters是与滤波器种类有关的具体参数,下表列出常用的滤波器种类TYPEPARAMETERS说明AverageHsize均值滤波器,如果邻域为方阵,则hsize为标量,否则由两元素向量hsize指定邻域的行数和列数Sobel无近似计算垂直梯度光滑效应的水平边缘强调算子LaplacianAlpha系数由alpha
0.0~
1.0决定的二维拉普拉斯操作Prewitt无近似计算垂直梯度的水平边缘强调算子Motionlentheta按照角度theta移动len个像素的运动滤波器
1.5中值滤波器函数medfilt2调用格式为B=medfilt2AB=medfilt2A[MN]其中A是输入图像,B是中值滤波后输出的图像[MN]指定滤波模板的大小,默认模板是3×3的
2.灰度级修正
2.1对比度调整如果原图像fxy的灰度范围是[mM],我们希望对图像的灰度范围进行线性调整,调整后的图像gxy的灰度范围是[nN],那么下述变换就可以实现这一要求MATLAB图像处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度调整imadjust函数的语法格式为J=imadjustI[low_inhigh_in][low_outhigh_out]gammaI是输入图像矩阵,J是经过灰度变换后的图像矩阵Low_in和high_in参数分别用来指定输入图像需要映射的灰度范围,Low_out和high_out参数指定输出图像所在的灰度范围灰度范围可以用[]空矩阵表示默认范围,默认值为
[01]Gamma是一个可选参数,用于指定图像I与J之间映射的关系gamma=1表示线性映射;gamma1表示弱映射;gamma1表示强映射,缺省时为
12.2 直方图均衡化直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次MATLAB图像处理工具箱中提供的histeq函数,可以实现直方图的均衡化对于灰度图像,histeq函数的基本调用格式为J=histeqIn该函数返回原图像I经过直方图均衡化处理后的新图像Jn为指定的均衡化后的灰度级数,缺省值为64
三、实验内容和步骤练习图像的读取、显示和保存图像数据,步骤如下1读出汽车牌照的灰度图像给读出的图像加入高斯噪声2分别采用不同大小的模板3*35*5对加有噪声的图像进行均值滤波,用一个图像处理对话框显示原图像、加有噪声的图像及均值滤波的图像比较结果3分别采用不同大小的模板3*35*5对加有噪声的图像进行中值滤波,用一个图像处理对话框显示原图像、加有噪声的图像及中值滤波的图像比较结果4采用大小相同的模板对加有噪声的图像分别进行均值滤波和中值滤波,用一个图像处理对话框显示原图像、加有噪声的图像、均值滤波的图像及中值滤波的图像比较结果5给图像加入椒盐噪声,重复均值滤波和中值滤波,比较结果6对汽车牌照的灰度图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题7用histeq函数将汽车牌照图像的灰度直方图均衡化,同时观察均衡化后的图像与前面图像的差别,均衡化后的灰度直方图与前面的灰度直方图的区别
四、实验报告基本内容详见附件实验三 图像分割实验学时2实验类型验证实验要求必做
一、实验目的
1、理解图像边缘提取的基本概念;
2、熟悉进行边缘提取的基本方法;
3、掌握用MATLAB语言进行图像边缘提取的方法
4、用形态学运算实现灰度图像的噪声平滑和图像边缘提取
二、实验原理和方法图像理解是图像处理的一个重要分支,他研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征边缘检测实际上就是检测图像特征发生变化的位置由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线
1.基于导数算子的边缘检测边缘检测的方法大多数是基于方向导数掩模求卷积的方法导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集一阶导数与是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向α上的灰度变化率可以用下面式子计算对于数字图像,应该采用差分运算代替求导,相对应的一阶差分为方向差分为函数f在某点的方向导数取得最大值的方向是,方向导数的最大值是称为梯度模利用梯度模算子来检测边缘是一种很好的方法,它不仅具有位移不变性,还具有各向同性为了运算简便,实际中采用梯度模的近似形式,如、及等另外,还有一些常用的算子,如Roberts算子和Sobel算子Roberts算子的表达式为Sobel算子的表达式为X方向算子y方向算子其中,由于Sobel算子是滤波算子的形式,用于提取边缘我们可以利用快速卷积函数,简单有效,因此应用很广泛拉普拉斯高斯(LoG)算法是一种二阶边缘检测方法它通过寻找图像灰度值中二阶微分中的过零点(ZeroCrossing)来检测边缘点其原理为,灰度级变形成的边缘经过微分算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对应于二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来MATLAB的图像处理工具箱中提供的edge函数可以实现检测边缘的功能,其语法格式如下BW=edgeI‘sobel’BW=edgeI‘sobel’directionBW=edgeI‘roberts’BW=edgeI‘log’这里BW=edgeI‘sobel’采用Sobel算子进行边缘检测BW=edgeI‘sobel’direction可以指定算子方向,即direction=‘horizontal’,为水平方向;direction=‘vertical’,为垂直方向;direction=‘both’,为水平和垂直两个方向BW=edgeI‘roberts’和BW=edgeI‘log’分别为用Roberts算子和拉普拉斯高斯算子进行边缘检测
2.形态学操作数学形态学图像处理的基本思想是利用一个称作结构元素的“探针”收集图像的信息当探针在图像中不断移动时,便可考察图像各个部分间的相互关系,从而了解图像各个部分的结构特征作为探针的结构元素,可直接携带知识(形态、大小、以及灰度和色度信息)来探测所研究图像的结构特点
2.1二值图像数学形态学二值形态学中的运算对象是集合,通常给出一个图像集合和一个结构元素集合,利用结构元素对图像进行操作其基本运算有四种腐蚀、膨胀、开运算和闭运算基于这些基本运算和组合来进行图像形状和结构的分析及处理如果A是图像集合,B是结构元素(B本身也是一个图像集合),形态学运算将使用B对A进行操作结构元素往往比图像小得多膨胀和腐蚀膨胀是在二值图像中“加长”或“变粗”的操作这种特殊的方式和变粗的程度由一个称为结构元素的集合控制数学上,膨胀定义为集合运算A被B膨胀,记为AB定义为腐蚀“收缩”或“细化”二值图像中的对象像在膨胀中一样,收缩的方式和程度由一个结构元素控制腐蚀的数学定义与膨胀相似,A被B腐蚀记为AB定义为开运算和闭运算在图像处理的实际应用中,更多地以各种组合的形式来使用膨胀和腐蚀,它们可以级连结合使用膨胀后再腐蚀,或者腐蚀后再膨胀,通常不能恢复成原来图像(目标),而是产生一种新的形态变换,这就是开运算和闭运算A被B的形态学开运算可以记做AoB这种运算是A被B腐蚀后再用B来膨胀腐蚀结果A被B的形态学闭运算记做A·B,它是先膨胀再腐蚀的结果当处理二值图像时,采用上述的形态学变换组合,主要应用于提取某一区域的边界线、图像边缘轮廓、物体骨架特征和目标识别等众多的实际应用
2.2灰度图像的数学形态学二值形态学基本运算可以扩展到灰度图像并由此建立一些基本的灰度形态学运算法则与二值数学形态学不同的是,灰度形态学运算中的操作对象不再看成是集合而看作是灰度数字图像设fxy是输入图像,bxy是结构元素(它本身也是一个子图像)下面简单介绍基本的灰度形态学运算膨胀和腐蚀对于灰度图像而言,膨胀和腐蚀是以像素邻域的最大值和最小值来定义的使用结构元素b对f的灰度膨胀记为fb通常灰度膨胀使用平坦的结构元素来执行,因此灰度膨胀公式可简化为因此,平坦的灰度膨胀是一个局部最大值算子,其中的最大值取自由Db的形状所确定的一系列像素邻域其中Db是b的定义域与膨胀一样,灰度腐蚀通常使用平坦的结构元素来执行,则灰度腐蚀公式可简化为因此,平坦的灰度腐蚀是一个局部最小值算子,其中的最小值取自由Db的形状确定的一系列像素邻域腐蚀和膨胀可以组合使用,以获得各种效果例如,从膨胀后的图像中减去腐蚀过的图像可以产生一个“形态学梯度”,它是检测图像中局部灰度级变化的一种度量开运算和闭运算灰度图像中开运算和闭运算的表达式与二值图像的相应表达式的形式相同分别记为fob和f·b由于开运算可以去除比结构元素更小的明亮细节,闭运算可以去除比结构元素更小的暗色细节,所以它们经常组合在一起用来平滑图像并去除噪声
2.3MATLAB函数用于图像形态学变换的MATLAB函数有构造结构元素函数StrelSE=strelshapeparameters创建由指定形状shape对应的结构元素其中shape的种类一般有arbitrary、pair、diamond、disk、rectangle、line、square,参数parameters一般控制SE的大小膨胀函数ImdilateIM2=imdilateIMSE膨胀灰度图像或二值图像,返回膨胀图像M2变量SE是一个结构元素或者一个结构元素的数组,其是通过strel函数返回的腐蚀函数ImerodeIM2=imerodeIMSE 腐蚀灰度图像或二值图像IM,返回腐蚀图像IM2参数SE是函数strel返回的一个结构元素体或是结构元素体阵列开运算函数ImopenIM2=imopenIMSE用结构元素SE实现灰度图像或二值图像的IM的形态开运算SE可以是单个结构元素对象或者结构元素对象数组开运算一般能平滑图像的轮廓,消弱狭窄的部分,去掉细的突出闭运算函数imcloseIM2=imcloseIMSE用结构元素SE实现灰度图像或二值图像的IM的形态闭运算SE可以是单个结构元素对象或者结构元素对象数组闭运算也能平滑图像的轮廓,但与开运算相反,它一般融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙
三、实验内容和步骤1读取汽车牌照图像,并显示2分别用Roberts、Sobel和拉普拉斯高斯算子对图像进行边缘检测比较三种算子处理的结果3用不同方向(‘水平’、‘垂直’、‘水平和垂直’)的Sobel算子对图像进行边缘检测比较三种情况的结果4将使用Roberts算子进行边缘检测后的汽车牌照图像按照不同大小的矩形结构元素进行腐蚀、膨胀、开、闭运算比较不同的结果
四、实验报告基本内容详见附件实验四汽车牌照自动识别实验学时2实验类型设计实验要求选做
一、实验目的1.分析汽车牌照的特点,正确获取整个图像中车牌的区域,并识别出车牌号2.将图像预处理、分割、分析等关键技术结合起来,理论与实践相结合,提高图像处理关键技术的综合应用能力
二、实验原理和方法牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出
三、实验内容和步骤为了进行牌照识别,需要以下几个基本的步骤a.牌照定位,定位图片中的牌照位置;b.牌照字符分割,把牌照中的字符分割出来;c.牌照字符识别,把分割好的字符进行识别,最终组成牌照号码
1.牌照定位自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来流程图如下
2.牌照字符分割完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别字符分割一般采用垂直投影法由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果流程图如下
3.牌照字符识别字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法基于模板匹配算法首先将分割后的字符二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果基于人工神经元网络的算法有两种一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果
四、实验报告基本内容详见附件附件(学生实验报告基本内容要求)实验报告的基本内容及要求实验报告应体现预习、实验记录和实验报告,要求这三个过程在一个实验报告中完成1.实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲对实验中的安全注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中设计性实验要求进入实验室前写出实验方案2.实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来实验记录中应有指导教师的签名3.实验总结主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法等贵州大学实验报告学院专业班级姓名学号实验组实验时间指导教师成绩实验项目名称实验目的实验要求实验原理实验仪器实验步骤实验内容实验数据实验总结指导教师意见签名年月日注各学院可根据教学需要对以上栏木进行增减表格内容可根据内容扩充导入原始图像图像预处理增强效果图像边缘提取车牌定位对图像开闭运算按左右宽度切割出字符计算水平投影进行车牌水平校正去掉车牌的框架分析垂直投影找到每个字符中心位置。