在数字化转型中,选择合适的跨平台开发框架不仅能提高效率,还有助于确保数据安全与合规性。
981
2022-09-15
【第一部分-环境搭建】Opencv环境搭建(Visual Studio+Windows)
1.1 库路径添加方式
1.1.1 Opencv的安装及环境变量配置
1.-源码包
图1-1
将源码-后双击可执行程序,安装在当前盘符下。
图1-2
源码地址:添加环境变量
图1-3
图1-4
【Tips】不管是win7还是win8或者win10,都是大同小异。
弹出如下对话框,如果没PATH,则新建PATH。
图1-5
【注1】最好是添加到系统变量的path路径。
笔者用的是win7,编辑系统变量中的PATH,在变量值后面输入:
D:\opencv\build\x86\vc11\bin
【注2】
如果不是新建的PATH,则最前面有一个分号。如果双击后前一条路径已经自带了分号就无需加上,如果没有需要把分号也复制进去,最后要保证两段路径之间有且仅有一个分号。
变量值根据你所用的VS和Opencv的安装路径来决定,还有就是计算机的位数。不管读者使用的电脑是64位还是32位,笔者建议使用X86(32位),配置比较方便,下文都是配置的X86环境,有兴趣的可以试着配置64位的。对于版本的的选择应该是比当前是使用的低一位,笔者用的是VS12版本,所以选择了VC11下的bin目录,以此类推。
1.1.2 VS2012 的配置及测试
图1-6
点【下一步】
图1-7
图1-8
3、配置
首先找到项目的<资源管理器>。
方法一:在菜单栏里面点<视图>–<其他窗口>–<属性管理器>
图1-9
方法二:在默认的VS布局中在工程一侧有<属性管理器>,直接单击就行了。
图1-10
图1-11
首先是在【通用属性】 ->【VC++目录】 ->【包含目录】中
添加上
D:\ opencv\build\include
D:\opencv\build\include\opencv
D: \opencv\build\include\opencv2 这三个目录。
【注】这是根据安装目录而定的。
接着上步,就是在【通用属性】 ->【VC++目录】 ->【库目录】中,
添加上D:\opencv\build\x86\vc11\lib这个路径。
图1-12
接下来就就是链接库的配置,【通用属性】 ->【链接器】->【输入】->【附加的依赖项】添加3.0.0版本的lib,带d的是debug版本,不带d的是release版本的。
opencv_world300d.lib opencv_ts300d.lib
【注意】
添加如2.4.9版本(或者其他3.0以下版本)的lib(这样的lib顺序是:19个带d的debug版的lib写在前面,19个不带d的release版的lib写在后面):
opencv_ml249d.libopencv_calib3d249d.libopencv_contrib249d.libopencv_core249d.libopencv_features2d249d.libopencv_flann249d.libopencv_gpu249d.libopencv_highgui249d.libopencv_imgproc249d.libopencv_legacy249d.libopencv_objdetect249d.libopencv_ts249d.libopencv_video249d.libopencv_nonfree249d.libopencv_ocl249d.libopencv_photo249d.libopencv_stitching249d.libopencv_superres249d.libopencv_videostab249d.lib
opencv_objdetect249.libopencv_ts249.libopencv_video249.libopencv_nonfree249.libopencv_ocl249.libopencv_photo249.libopencv_stitching249.libopencv_superres249.libopencv_videostab249.libopencv_calib3d249.libopencv_contrib249.libopencv_core249.libopencv_features2d249.libopencv_flann249.libopencv_gpu249.libopencv_highgui249.libopencv_imgproc249.libopencv_legacy249.libopencv_ml249.lib
好了到这里基本就配置完了,接下来下就是测试了。
4、测试
新建一个类。
图1-13
在文件中输入以下内容。
/**Includes*********************************************************************/#include
并在main.cpp的目录下一个文件名为pic.jpg的图片。运行程序的效果就
能看到图片了。
1.2 源码安装方式
在开始讲解源码安装方式之前,我们需要明白为何要这么费劲编译源码呢?起初笔者也很纳闷,编译源码既繁琐又费时,而且OpenCV官网也给我们提供了对应的win pack包,-下来配置一下不就可以使用啦。笔者相信很多初次接触OpenCV的朋友就连使用官方的win pack都有可能没有配置成功,更不要说根据自己的电脑和需求来编译源码了。
接下来笔者就来回答为何要费劲编译源码,首先,OpenCV官网对于每个版本只提供了一到两个VS版本,很多情况下,我们不一定安装有对应的VS版本;其次,当我们开发到一定阶段,官网提供的编译库不能满足我们的需求,比如使用GPU,OpenGl,使用TBB加速等,如果读者朋友还没有听过这些名词,不要紧,你可以先尝试着在网上搜素相关名词,了解其中的用途,也可关注笔者,笔者会在其他的文章中讲解这些概念和用法。基于以上两点原因,我想大家也就明白为何哟啊编译源码了吧,接下来,就跟着笔者尝试编译源码吧。
1.2.1 CMake简介
CMake,是“crossplatform make”的缩写,它是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake 和 SCons 等其他类似系统的区别之处。
1.2.2 CMake安装
首先-Camke软件,目前(2017-11-6)最新的版本是3.10.0-rc4。-链接:distributions处可以-到Cmake软件的源码,如果对这款开源软件感兴趣,不妨看看。
图1-14
而Binary distributions处可以-到Cmake的执行文件,我们只需要-到其执行文件即可,选择Windows win64-x64 Installer进行-,笔者的64位电脑,所以-的是64位的。
图1-15
-可执行文件后,接下来就是安装了,安装很简单,笔者就不纤细介绍了。安装完成后,接下来就是使用CMake生成OpenCV源代码工程的解决方案
1.2.3 CMake生成OpenCV源代码工程的解决方案
【第一步】运行cmake-gui
如果在安装时没有生成桌面快捷方式,在安装路径下寻找。运行后得到如下的窗口。
图1-16
【第二步】指定OpenCV的安装路径
图1-17
在该路径下有一个名为CMakeLists.txt的文件,该文件就是给CMake留下的配置文件,CMake可以根据这个配置文件,通过不同的编译器选择,来生成不同的解决方案,VisualStudio的编译器对应的就生成Visual Studio版的sln解决方案。
图1-18
【注】笔者在这里使用最新的Opencv安装包-3.3.1(注意和使用库路径安装方式进行比较,这里是-源码)。
图1-19
【第三步】指定解决方案的存放路径
图1-20
【第四步】第一次Configure
图1-21
弹出如下进行编译器选择的对话框:
图1-22
首先选定“Use default native compilers”,然后,我们可以发现下拉列表中提供了几十种编译器给我们选择,因为我们安装了Visual Studio,会默认为我们选择好对应版本的Visual Studio编译器,比如Visual Studio 12(即待会儿会生成对应VS2012的sln解决方案)确认无误后,单击“finish”按钮。于是,CMake开始第一次源代码配置过程:
图1-23
【注意】在安装CMake或者OpenCV不要出现中文路径,否则可能出现不可预料的错误。
看到进度条读到尽头,出现了Configuring done字样,第一次的源码配置就完成了,如图所致。
图1-24
【第五步】第二次Configure
图1-25
点Generate按钮,来生成最终的解决方案了。
图1-26
图1-27
看到Generating done字样,就表示大功告成,可以去之前我们指定的E:\opencv下找寻我们生成的解决方案了。
图1-28
1.2.4编译OpenCV.sln
打开生成的Opencv工程,选择CMakeTargets下INSTALL,右键“生成”,生成Debug版dll,lib。切换编译模式为Release模式,重复上一步生成Release版dll,lib。(如果使用Debug就不需要编译Release版本了)。
编译完成后就能看到最终Debug版和Release版(如果选择编译了)的dll,lib,以及文档目录doc,头文件目录include(bin内为两个版本dll,lib内为两个版本lib)。
编译后的目标库在E:\opencv\install文件夹下,具体路径是选择的路径决定。接下来的配置和库路径的配置方式相同,这里编译后的install文件夹就相当于win pack包的build文件夹,所以博主就不在重复了,不明白前看前文。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~