vs2017配置opencv3.3怎么用内置CMAKE编译opencv

& opencv在vs2012下重编译详细教程——解决按f11进入不了源代码
最近用到opencv人脸识别的代码,想进源码看看实现过程,大家都知道opencv的源码在opencv/modules下,但是光看那么长的源代码实在麻烦,要是能在调试的时候按f11直接就能跟进内部代码就好了。说到这里大家会想为什么进不了呢?这是因为我们的程序调用opencv的函数使用的是opencv/build/x86/bin下的动态链接库,这是opencv为所有windows用户提供的,想要跟进代码就必须在本地编译生成链接库等必须文件。
本文参考了文章这里讲的详细但还是有点错误,这里我来总结一下,避免大家走弯路。
下载并安装这几个工具:CMake、OpenCV、Visualstudio
下载OpenCV:
下载CMake:,安装
2、用CMake生成OpenCV的VS2012解决方案
首先按照下图标注,①是opencv所在目录②是接下来的工程目录(自己新建),接下来点configure按钮直到不出现红色,然后点Generate 生成工程文件,成功的话会在C:/svn/opencvproject下生成工程文件。
3、打开opencv工程并编译源代码,生成我们所需要的动态链接库
在C:/svn/opencvproject找到Opencv.Sln,打开如下图
这里首先点开Debug处的小三角选择配置管理器,如果INSTALL未选择则选中,然后确定;右键ALL_BUILD生成debug版的工程文件,10分钟左右,完成后切换到Realease右键ALL_BUILD生成。
4、配置Opencv环境变量
注意,这里也是跟上述文章不一样的地方,估计是因为OpenCV版本不同吧,导致配置上有所不同,
环境变量path应该添加以下两个路径:C:\svn\opencvproj\bin\Debug&和 &C:\svn\opencvproj\bin\Release
注:C:\svn\opencvproj\&是我用CMake生成的VS2012工程的所在目录。
注意:之前用的是OpenCV自带编译版本的请注意了,应该将原来环境变量删除后再添加。否则调试的时候还是多多少少有些问题
5、修改工程属性
右键你的项目,选择属性,点中VC++目录,修改包含目录和库目录
1.包含目录设置为:C:\svn\opencvproj\install\&C:\svn\opencvproj\install\include\&C:\svn\opencvproj\install\include\opencv2(这解释了刚才为什么要勾选INSTALL了,否则是找不到install这个目录的,如果还是没有就展开工程右键)
2.库目录设置为:C:\svn\opencvproj\lib\Debug
3.添加附加依赖项,在 链接器-&输入-&附加依赖项处添加:
opencv_calib3d246d.libopencv_contrib246d.libopencv_core246d.libopencv_features2d246d.libopencv_flann246d.libopencv_gpu246d.libopencv_highgui246d.libopencv_imgproc246d.libopencv_legacy246d.libopencv_ml246d.libopencv_nonfree246d.lib
opencv_objdetect246d.libopencv_photo246d.libopencv_stitching246d.libopencv_video246d.libopencv_superres246d.libopencv_ts246d.libopencv_videostab246d.lib
这里根据自身情况来定,不同版本不同项目所需的lib文件可能不一样
这里的246d代表opencv版本是2.4.6,d代表debug版,release是不加d的,注意区分!
到这里,我们的所有配置已经完成,主要上文区别的地方在环境变量path不同,包含的库目录不同。
6.测试项目
到项目中设置断点,按f11看能否跳进opencv代码内部
本文出自 方块糖的工坊,转载时请注明出处及相应链接。本文永久链接: http://www.fangkuaitang.net/?p=2059
心得体会 下的最新文章
Ɣ回顶部使用Visual Studio 2017编译opencv 3.2版本 - 几度夕阳红了 - 博客园
随笔 - 137
评论 - 225
一、背景介绍
opencv是一个很强大的开源的计算机视觉库,应用领域如人机互动,图像处理,人脸识别,和现实生活中智能设计的关系很紧密。现在官方提供的编译包中,c++的只提供了x64位的library,如果你想用32位的library,就要自己编译。
二、需要的软件
1)opencv,在github上,现在已经可以下载opencv了,,我下载的是opencv-3.2.0-vc14.exe,文件大小:118MB。
2)CMake,这个工具可以把opencv的sourcecode生成vcxproj项目,然后用Visual Studio 2017可以打开该解决方案项目,,我下载的是3.8.1版本的。
3)Visual Studio 2017,这个工具自己可以下载。
三、配置并编译
把下载的opencv解压,解压后的文件夹结构如图
buildnew是我新建的文件夹,等下CMake生成的文件就放到这个文件夹里面。
打开CMake-gui,如图
&填写好source code文件夹和build the binaries文件夹,然后点击Configure按钮,去选择编译器,我选择的是Visual Studio 15 2017。
然后点击Finish,CMake会加载source code的信息,我们可以选择需要编译的模块。
默认BUILD_opencv_world是没有勾选的,我为了能把opencv的模块都编译到一个dll里面去,勾选这个就可以了。
然后点Generate按钮,就会生成vcxproj项目,等生成完之后,Open Project按钮就变成能用的,点击Open Project按钮,就会使用Visual Studio 2017打开生成的vcxproj项目,项目会自动编译,差不多编译了40分钟,编译就结束了。
&你可以选择Win32位或是x64不同平台编译,我选择了Win32编译,编译后的结果如图。
&左边文件夹是自己编译好的,右边文件夹的是官方提供的编译好的x64平台的库。opencv_world320.dll与opencv_world320d.dll的区别是文件名多一个d的表示debug。君,已阅读到文档的结尾了呢~~
Windows下利用CMake和VS2013编译OpenCV
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Windows下利用CMake和VS2013编译OpenCV
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 vs2017编译opencv 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信