VisualStudio下如何编译和使用最新版本的OpenCV(修正版)

OpenCV是托管于GitHub的开源项目,本文具体解决一个问题,就是“获取最新版本的OpenCV,并且在自己的项目中使用起来"
 
最新版本 2017年3月31日 BY:jsxyhelu
 
目录:
1 下载最新代码;
2 编译代码(区分静态库/动态库模式 32位和64位)
3 在自己项目中使用

一 下载最新代码,可以通过GIT或Http直接下载
 
或(注意 github国内访问通过修改host表可以提速)
 
二 编译代码(区分静态库/动态库模式 32位和64位)
使用的方式都是CMake两次Configure->一次Generate->Open Project打开vs进行编译。参数的不同带来了结果的不同。
 
64位和32位的选择体现在选择编译器的时候是否选择Win64。我认为一般意义上说,32位的程序可以以兼容模式运行在64位机器上,反过来不可以。那么也就是说32位以效能换取兼容性。使用时根据 实际情况选择。新手选择32位。
在32位系统下运行64位程序报这个错
 
静态库和动态库的选择体现在是否选择BUILD_SHARED_LIBS(默认是选中的)。如果选择静态库,那么最后生成的程序和支持库是打包到一起的,交付起来比较方便;如果是动态库则是分开的。效能问题没有研究过。新上手的选择默认动态库。同时建议将BUILD_opencv_world选中,这样最后的结果是一个文件。
 
 
 
 
 
而后打开vs环境,选中install,生成。 也可以批量生成(release和debug都要)。
 
 
出现这个错误是正常的,因为allbuild本身就不可启动。
 
三 在自己项目中使用(只介绍DEBUG模式,RELEASE模式是类似的)
 
选择动态库模式:
在VC++目录中设定"包含目录 " 为include地址; " 引用目录"为提供的lib地址。注意这里的lib地址只是提供了接口信息。
链接器->输入 填入lib名称
将dll文件拷贝到PATH目录能够指向的地方,比如" C:\Windows\SysWOW64"
注意在交付的时候需要将支持的dll文件一并提供。
 
如果是静态库:
 
设置Include
设置引入"常规 附加库目录"
设置lib(注意填全)
注意,需要将"代码生成"的"运行库"改为"多线程调试"。这样就将MFC自己的支持库包含在最后生成的exe中了。
 
如果想要在程序设计的过程中,能够直接修改OpenCV自己的代码,添加相关功能,首先将Opencv项目引入
 
而后添加引用 设置项目依赖
 



end



目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/649502

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。