欢迎来到天天文库
浏览记录
ID:41306069
大小:80.00 KB
页数:5页
时间:2019-08-21
《VC与Matlab 混合编程及其在轮辋裂纹检测中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VC++与Matlab混合编程及其在轮辋裂纹检测中的应用 刘亚楠,郭三华,涂铮铮,罗斌(安徽大学计算智能与信号处理教育部重点实验室,合肥230039)摘要:本文结合轮辋裂纹检测系统介绍了几种VC++与Matlab混合编程的方式,并具体分析了它们在轮辋裂纹检测中的可行性,得出了在轮辋裂纹检测中可以采用Matlab引擎的结论。最后结合边缘检测、形态学运算、最优阈值分割等多种方法,采用Matlab引擎较好地实现了轮辋裂纹检测,取得了理想的效果。实验表明该方法在轮辋裂纹检测系统的开发中大大提高了编程效率。关键字:混合编程裂纹检测Ma
2、tlab引擎MixedProgrammingofVC++withMatlabandItsApplicationinWheelCrackDetectionSystemYananLiuSanhuaGuoZhengzhengTuBinLuo(KeylabofIntelligentComputingandSignalProcessingofAnhuiUniversity,Hefei230039)Abstract:ThispaperintroducesseveralmixedprogrammingmethodsofVC++andMat
3、labbasedonthewheelcrackdetectionsystem,andconcretelyanalysisesthefeasibilityoftheminwheelcrackdetectionsystem,elicitingtheconclusionofusingMatlabengineincrackdetectionsystem.Torealizethewheelcrackdetectionsystem,weusethemethodofMatlabenginecombinedwithedgedetection
4、algorithm,morphologicaloperation,optimalthresholdsegmentation,etc,andgettheperfecteffect.Theexperimentsindicatethattheprogrammingefficiencyisimprovedinthedevelopmentofthewheelcrackdetectionsystemusingtheproposedmethod.Keywords:mixedprogramming,crackdetection,Matlab
5、engine1引言Matlab是当今最优秀的科技应用软件之一,它具有高效的科学计算功能与可视化功能,又有强大的图像处理功能。它简单易用,不需要用户有高深的数学知识和程序设计能力,也不需要深刻了解算法及编程技巧,具有开放式可扩展的工作环境。Matlab语句功能十分强大,一条语句可完成十分复杂的任务。Matlab软件中所包含的Matlab源代码相当于70万行C代码。特别是所附带的30多种面向不同领域的工具箱支持,使它成为许多科学领域的基本工具和首选平台。但是,它是以解释方式运行的高级语言,执行效率低;同时,Matlab程序不能脱
6、离其环境运行,不能被用于开发商用软件。而对于另一种程序设计工具VC++6.0,它具有较高的编码效率,可以快速的开发出Windows环境下图形界面丰富的应用软件系统,但是,在进行较复杂的图像处理时,需要编出大量的代码。本文通过Matlab与VC++语言的接口,可以实现两种语言的混合编程,优势互补,提高编程效率,会大大地加快一些算法的实现,同时其可靠性也很高,可以开发出高质量的图象处理软件。轮辋裂纹检测系统采用数字图像处理技术,利用CCD摄像头摄取车轮轮辋的运动图像,将其数字化后送往计算机处理,提取裂纹的特征,实现车轮轮辋表面裂
7、纹的在线检测。如图1所示:依据裂纹检测相关算法,我们采用Matlab与VC++语言混合编程来进行轮辋裂纹检测系统的开发,Matlab与VC++混合编程存在以下几种主要方式,我们根据这几种方式的各自特点来分析在轮辋裂纹检测系统中应该采用哪种方式来实现处理。作者简介:刘亚楠(1984-),女,硕士研究生,山东济宁人,研究方向为数字图像处理。郭三华,男,硕士研究生。涂铮铮,女,硕士研究生。罗斌,男,教授,博士生导师,研究方向为数字图像处理与模式识别。紫外光源检测对象(轮辋)CCD摄像头图像采集器计算机(检测裂纹特征)输出、报警图1
8、系统原理框图2VC++与Matlab混合编程的几种方法(1)利用Matlab编译器实现与VC的连接这种方法需要编辑一个.m文件,并且它必须是一个函数文件,而不能是一个脚本文件。假设为lyn.m。利用Matlab提供的mcc编译器命令将.m文件转化为VC++下可以调用的动态链接库文件。这里需
此文档下载收益归作者所有