硬币表面形状的自动检测与识别研究毕业设计论文.docx
- 文档编号:6645119
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:42
- 大小:1.09MB
硬币表面形状的自动检测与识别研究毕业设计论文.docx
《硬币表面形状的自动检测与识别研究毕业设计论文.docx》由会员分享,可在线阅读,更多相关《硬币表面形状的自动检测与识别研究毕业设计论文.docx(42页珍藏版)》请在冰豆网上搜索。
硬币表面形状的自动检测与识别研究毕业设计论文
武汉工程大学邮电与信息工程学院
毕业设计(论文)说明书
论文题目硬币表面形状的自动检测与识别研究
摘要
数字04图像处理技术是20世纪60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。
MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。
它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。
根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。
MATLAB中集成了功能强大的图像处理工具箱。
由于MATLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势。
本文从预处理、边缘检测、硬币定位、字符分割、字符识别五个方面,具体介绍了硬币自动识别的原理。
并用MATLAB软件编程来实现每一个部分,最后识别出硬币表面形状。
关键词:
MATLAB;数字图像处理
Abstract
Digitalimageprocessingtechnologyinthe1960sdevelopedanewdiscipline,withtheimageprocessingtheoryandmethodstofurtherimprove,makingthedigitalimageprocessingtechnologyhasbeenwidelyappliedinvariousfields,andshowsbroadapplicationprospects.MATLABisakindofintuitive,efficientcomputerlanguage,butitisalsoascientificcomputingplatform.Itprovidesdataanalysisanddatavisualization,algorithms,andapplicationdevelopmentprovidesthecoremathematicsandadvancedgraphicaltools.Itprovidesmorethan500accordingtomathematicalandengineeringfunctions,engineeringandtechnicalpersonnelandscientistscaninteractwithitsintegratedenvironmentorprogrammingtocompletetheircalculations.
MATLABintegratespowerfulimageprocessingtoolbox.SinceMATLABlanguagefeaturesandsyntaxoftheClanguageisverysimilar,butmoresimple,moreinlinewithscientificandtechnicalpersonnelofmathematicalexpressionswrittenformat,andthislanguageportability,scalability,coupledwithawealthofimageswhichhandler,soMATLABapplicationsinimageprocessinghasagreatadvantage.
Inthispaper,pre-processing,edgedetection,platelocation,charactersegmentation,characterrecognitioninfiveareas,specificallyintroducedforautomaticvehicleidentificationprinciple.AnduseMATLABsoftwareprogrammingtoimplementeverypartofthefinalidentificationofthecoinsurfaceshape.
Keywords:
MATLAB;digitalimageprocessing
第一章绪论
1.1课题背景
伴随着计算机技术的高速发展,数字图像处理成为了一门新兴学科,并且在生活中的各个领域得以广泛应用。
图像边缘检测技术则是数字图像处理和计算机视觉等领域最重要的技术之一。
在实际图像处理中,图像边缘作为图像的一种基本特征,经常被用到较高层次的图像处理中去。
边缘检测技术是图像测量、图像分割、图像压缩以及模式识别等图像处理技术的基础,是数字图像处理重要的研究课题之一。
边缘检测是图像理解、分析和识别领域中的一个基础又重要的课题,边缘是图像中重要的特征之一,是计算机视觉、模式识别等研究领域的重要基础。
图像的大部分主要信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,是图像中灰度变化比较强烈的地方,也即通常所说的信号发生奇异变化的地方。
经典的边缘检测算法是利用边缘处的一阶导数取极值、二阶导数在阶梯状边缘处呈零交叉或在屋顶状边缘处取极值的微分算法。
图像边缘检测一直是图像处理中的热点和难点。
近年来,随着数学和人工智能技术的发展,各种类型的边缘检测算法不断涌现,如神经网络、遗传算法、数学形态学等理论运用到图像的边缘检测中。
但由于边缘检测存在着检测精度、边缘定位精度和抗噪声等方面的矛盾及对于不同的算法边缘检测结果的精度却没有统一的衡量标准,所以至今都还不能取得令人满意的效果。
另外随着网络和多媒体技术的发展,图像库逐渐变得非常庞大,而又由于实时图像的目标和背景间的变化都不尽相同,如何实现实时图像边缘的精确定位和提取成为人们必须面对的问题。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
特点:
1、高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
2、具有完备的图形处理功能,实现计算结果和编程的可视化;
3、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
4、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
本课题就是MATLAB软件在图像检测与目标识别中的应用进行研究,主要任务是对硬币各表面形状态检测,完成硬币的自动检测与识别研究。
1.2国内外研究状况和应用前景
作为计算机视觉的经典性研究课题,图像检测的研究已有较长历史,涌现了许多方法,这些方法分为两大类,基于空间域上微分算子的经典方法和基于图像滤波的检测方法。
基于空间域上微分算子的经典方法。
在阶跃型边缘的正交切面上,阶跃边缘点周围的图像灰度表现为一维阶跃函数边缘点位于图像灰度的跳变点。
根据边缘点的特性,人们提出了基于图像灰度一阶导数、梯度、二阶导数以及更为复杂的laplace算子等提取图像边缘的方法。
基于图像滤波的检测方法。
在实际图像中,边缘和噪声均表现为图像灰度有较大的起落,同是高频信号,但相对来说边缘具有更高的强度。
几种经典的边缘检测算法论述:
1roberts算子。
roberts边缘检测算子根据任意一对互相垂直方向上的差分用来计算梯度的原理,采用对角线方向相邻两像素之差。
roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘。
它适合于得到方向不同的边缘,对不同方向的边缘都比较敏感,检测水平和万垂直边缘的效果好于斜向边缘,定位精度高。
但是在进行差分计算的过程中对噪声敏感,即有噪声影响的像素点可能被检测为边缘点。
2sobel算子。
对数字图像的每个像素点,考察它上、下、左、右邻点灰度加权差,与之接近的邻点的权值大。
sobel算子很容易在空间上实现sobel边缘检测器不但产生较好的边缘检测效果而且受噪声的影响也比较少。
3log算子。
前面介绍的梯度算子和拉普拉斯算子实际上都是微分或差分算法,因此算法对噪声十分敏感。
所以,在边缘检测前必须滤除噪声。
4Sobel算法的改进,经典的Sobel图像边缘检测算法,是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个是检测垂直边缘,一个是检测水平边缘。
算法的基本原理,由于图像边缘附近的亮度变化较大,所以可以把那些在邻域内,灰度变化超过某个适当阈值TH的像素点当作边缘点。
Sobel算法的优点是计算简单,速度快。
图像加权中值滤波。
由于图像中的边缘和噪声在频域中均表现为高频成分,所以在边缘检测之前有必要先对图像进行一次滤波处理,减少噪声对边缘检测的影响。
中值滤波是一种非线性信号的处理方法,在图像处理中,常用来保护边缘信息,保证滤波的效果。
加权中值滤波,首先对每个窗口进行排序,取适当的比例,进行曲线拟合拟合后的曲线斜率表征了此窗口的图像特征,再根据图像各部分特性适当的选择权重进行加权。
MATLAB产品族可以用来进行以下各种工作:
数值分析,数值和符号计算,工程与科学绘图,控制系统的设计与仿真,数字图像处理技术,数字信号处理技术,通讯系统设计与仿真,财务与金融工程,管理与调度优化计算(运筹学)。
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能,MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
本文运用MATLAB软件进行硬币表面形状分析,很方便却又真实的表达出硬币的表面形状,为后续的检测分析与目标识别提供便捷的服务。
1.3课程设计目的
Matlab技术课程设计是利用Matlab应用软件的基础知识和基本程序设计方法,解决选修专业课程中数字信号处理的实际应用问题,从而加深对理论知识的掌握,并把所学的知识系统、高效的贯穿到实践中来,避免理论与实践的脱离。
同时提高独立编程水平,并在实践中不断完善理论基础,有助于培养综合能力。
1.4课程设计的内容
1、查阅图像处理与分析相关的资料;
2、掌握目标检测与识别的有关知识;
3、熟悉MATLAB软件的操作及用途;
4、用MATLAB对硬币表面进行目标检测识别分析;
5、完成论文的编写和外文翻译。
第二章MATLAB简介
2.1MATLAB介绍
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
编辑本段简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他汇编语言的程序等,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
2.2MATLAB产品系列重要功能:
·MATLAB®:
MATLAB语言的单元测试框架
·TradingToolbox™:
一款用于访问价格并将订单发送到交易系统的新产品
·FinancialInstrumentsToolbox™:
赫尔-怀特、线性高斯和LIBOR市场模型的校准和MonteCarlo仿真
·ImageProcessingToolbox™:
使用有效轮廓进行图像分割、对10个函数实现C代码生成,对11个函数使用GPU加速
·ImageAcquisitionToolbox™:
提供了用于采集图像、深度图和框架数据的Kinect®forWindows®传感器支持
·StatisticsToolbox™:
用于二进制分类的支持向量机(SVM)、用于缺失数据的PCA算法和Anderson-Darling拟合优度检验
·DataAcquisitionToolbox™:
为DigilentAnalogDiscoveryDesignKit提供了支持包·VehicleNetworkToolbox™:
为访问CAN总线上的ECU提供XCP支持
Simulink产品系列重要功能
·Simulink®:
SimulationPerformanceAdvisor,链接库模块的封装,以及通过逻辑表达式控制有效变量
·Simulink:
除LEGO®MINDSTORMS®NXT、Arduino®、Pandaboard和Beagleboard外,还为RaspberryPi™和Gumstix®Overo®硬件提供了内置支持
·SimRF™:
针对快速仿真和模型加载时间的电路包络求解器
·SimMechanics™:
发布了用于从CAD和其他系统导入模型的XML架构
·SimulinkDesignVerifier™:
数组超出边界检查
MATLAB和Simulink的系统工具箱
·CommunicationsSystemToolbox™:
Sphere解码器和Constellation框图系统对象
·ComputerVisionSystemToolbox™:
Viola-Jones对象检测培训,FREAK特征提取和其他新函数
·DSPSystemToolbox™:
频谱分析仪和逻辑分析示波器,以及时域示波器的触发
·PhasedArraySystemToolbox™:
极化支持、数组锥化以及针对传感器数组分析、波形分析和雷达方程计算的应用程序
代码生成和实现
·SimulinkCoder™:
减少了从Stateflow®调用的Simulink函数的数据副本
·Fixed-PointDesigner™:
一款结合了Fixed-PointToolbox™和SimulinkFixedPoint™功能的新产品
·HDLVerifier™:
从MATLAB生成HDL测试工作台
编程创造的功能
在命令行或者在手稿里确定单个行的函数的匿名的函数当任何表示是真实的时,有条件的休息点,让你停止块意见出于记分员可发表意见的一个代码的整个部分数学整数算术,让你处理更大的整数数据集合单精度运算,线性代数,FFT和过滤,使你能够处理更大的单精度数据集合更坚固的计算几何学程序使用Qhull.1,给更大的对算法选择的控制linsolve功能,使你能够迅速通过指定系数的基体的结构解决线性方程序的系统和multipoint边值问题图形和3D新绘制的交互式建立和编辑的接口密谋而没有输入M代码来自一个外形的M代码产生,让你按部就班地重新使用风俗密谋提高绘制注释,对取值点的注释的包括画形状,物体调整,并且别住[1]MMX的JIT加速器产生对整数算术起作用处理器制造商提供尽可能完善图书馆,包括multiprocessor支持和更快的FFT常规(使用FFTW3的新版本)
编辑本段优势特点
1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
2)具有完备的图形处理功能,实现计算结果和编程的可视化;
3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
简单易用
Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
强处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
图形处理
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
程序接口
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。
允许用户编写可以和MATLAB进行交互的C或C++语言程序。
另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。
MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
应用软件开发
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
编辑本段应用
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字图像处理技术
●数字信号处理技术
●通讯系统设计与仿真
MATLAB在通讯系统设计与仿真的应用
●财务与金融工程
●管理与调度优化计算(运筹学)
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
工具
常用工具箱
MATLAB包括拥有数百个内部函数的主包和三十几种工具包。
工具包又可以分为功能性工具包和学科工具包。
功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。
学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。
除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬币 表面 形状 自动检测 识别 研究 毕业设计 论文