基于OpenCV的C-C++和Matlab计算机视觉混合编程.docx

基于OpenCV的C-C++和Matlab计算机视觉混合编程.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

基于OpenCV的C/C++和Matlab计算机视觉混合编程

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

李中科赵慧娟苏晓萍

摘要:在计算机视觉研究领域,目前很多Matlab开源代码会调用依赖于OpenCV采用C/C++语言编写编译生成的动态链接库。但因运行环境的差异,这些代码的运行往往需要重新编译生成新的动态链接库。由于涉及Matlab和VisualStudio两个工具混合编程,同时还有对OpenCV库函数的依赖,重新编译相关的设置会给初学者带来很大的困扰。本文以具体实例给出几者混合编程和调试的步骤及注意事项,以期给初学者一个可操作的混合编程入门指导,使他们可以轻松实现混合编程,将更多的精力投入到实际问题的解决中,以提高研究工作的效率。

关键词:OpenCV;C/C++;Matlab;混合编程;MEX;VisualStudio;计算机视觉

中图分类号:TP391.41文献标志码:A文章编号:1006-8228(2018)07-69-04

Abstract:Inthefieldofcomputervisionresearch,manyresearcherswillopentheirMatlabsourcecode,whichcallsdynamiclinklibrarieswrittenintheC/C++language.AlotofthesedynamiclinklibrariesoftenarebasedonOpenCV.Inmostcases,therunningenvironmentsofdownloadersaredifferentfromtheresearchers,theseC/C++dynamiclinklibrariesrequirerecompilingtomakeitrunnableonthedownloadersrunningenvironments.BecausethemixedprogramminginvolvestwotoolsMatlabandVisualStudio,anddependentsonOpenCV,thetaskofre-compilationgenerallycausesgreatdifficultiesforbeginners.Thisarticletakesanexampletodescribethestepsandissuesonthemixedprogramming,expectingtogivethebeginnersanoperationalentryguide,sothattheycandevotethemselvestoresearchtheproblemitself.

Keywords:OpenCV;C/C++;Matlab;mixedprogramming;MEX;VisualStudio;computervision

0引言

Matlab是目前世界上最强大的算法研究工具之一,可应用于众多科学计算及仿真领域,其强大的功能为众多的科学工作者提供了方便快捷的处理方式,由于其实现方法简单,编程速度快,故常被用于需要快速验证的算法研究、探索中。特别是Matlab以其在矩阵运算方面独有的优势在图像处理领域应用颇广[1]。但相比较C/C++,由于其是解释执行,对循环等操作执行效率很低,即便是研究探索中,特别是当其被用到诸如计算机视觉、视频处理等计算机量较大的领域时,就需要考虑执行效率的问题,否则程序的执行时间将不可接受[2-3]。

除Matlab外,对图像、视频技术研究者来说,开源的OpenCV也是广泛被认同的开源图像及视觉软件包之一[4],由于其开源软件的特性,任何开发人员都可以利用它来开发自己的图像或者视觉应用,其基于C++开发。OpenCV库有很多现成的库函数可供使用,方便快捷,更便于编写可商业化的软件。在基于C/C++的计算机视觉软件经常会调用OpenCV的库函数。

基于上面的事实,很多研究机构所公开的计算机视觉相关代码,往往是使用Matlab和C/C++混合编程,他们一般在涉及循环等计算量较大的功能模块使用C/C++编写,编译成动态链接库形式供Matlab调用。同时在C/C++程序编写的功能模块中往往会调用OpenCV的库函数。现实中,这种Matlab和调用了OpenCV库函数的C/C++混合编程的情况十分常

文档评论(0)

李颖 + 关注
实名认证
内容提供者

是个美女

1亿VIP精品文档

相关文档