VS2013+OpenCV3.3安装教程

       为了搭建VS2013+OpenCV3.30版本的环境,着实踩了很多坑,费了不少力,为了给朋友们一个正确的指引,少走弯路,我决心再前人的基础上,重新写下这篇博文,将踩过的坑以及注意事项,清晰地记录下来,希望对你有所帮助。

 

简介

OpenCV于8月3日正式发布了OpenCV3.3版本,下载地址1SourceForge,下载地址2Github

 

改变

  • 主要消息是我们将DNN模块从opencv_contrib推广到主存储库,改进和加速了很多。不再需要外部BLAS实现。对于GPU,使用Halide(http://halide-lang.org)进行实验DNN加速。 有关该模块的详细信息可以在我们的wiki中找到:OpenCV中的深度学习
  • OpenCV现在可以使用标志ENABLE_CXX11构建为C ++ 11库。添加了C ++ 11程序员的一些很酷的功能。
  • 由于“动态调度”功能,我们还在OpenCV的默认版本中启用了不少AVX / AVX2和SSE4.x优化。 DNN模块还具有一些AVX / AVX2优化。
  • Intel Media SDK现在可以被我们的videoio模块用来进行硬件加速的视频编码/解码。支持MPEG1 / 2,以及H.264。
  • 嵌入OpenCV Intel IPP子集已从2015.12升级到2017.2版本,从而在我们的核心和imgproc perf测试中提高了15%的速度。
  • 716拉请求已经合并,588我们的错误跟踪器中的问题已经关闭,因为OpenCV 3.2。 另外,我们通过一些严格的静态分析仪工具运行OpenCV,并修复了检测到的问题。 所以OpenCV 3.3应该是非常稳定和可靠的释放。

有关OpenCV 3.3的更改和新功能的更多详细信息,请参见OpenCV改变日志

 

环境

Windows10 x64
Visual Studio 2013

 

下载

CMake

Cmake下载安装教程

OpenCV3.3

进入OpenCV的发行版本官网,选择3.3.0的Sources版本进行下载(这里我们打算CMake对OpenCV3.3源码进行生成VS2013的x64位解决方案sln)

 

安装

1.解压OpenCV3.3.0源码,并创建Build文件夹路径

其中opencv-3.3.0是刚才下载opencv-3.3.0.zip解压出来的文件夹,而OpenCV_VS2013_x64是自定义创建的文件夹,用于存放CMake生成的目标解决方案

2.打开CMake,添加源码和目标文件夹路径

打开已安装好的CMake软件

(1)添加解压出的OpenCV-3.3.0文件夹绝对路径(比如,我的绝对路径是D:\OpenCV\OpenCV3.3\opencv-3.3.0),

(2)添加自定义创建的OpenCV-3.3.0build的空文件夹,这里文件夹名称为“OpenCV3.3_VS2013_x64”,因为OpenCV版本是3.3,编译器是VS2013,并且打算生成x64位的解决方案(比如,我的绝对路径是D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64)

 

3. 多次Configure,配置相应库

点击Configure按钮后,会出现下述界面,选择你所需要的编译器和解决方案版本(这里我选择的是Visual Studio 12 2013 Win64

 

点击Finish,CMake开始对OpenCV源码进行配置生成并下载相应函数库,如ffmpeg,IPP等(此时需要等待若干分钟)

 

 

当第一次Configure后,界面会出现红色部分,这是为了让用户可以手动补充相应函数库,如TBB、CUDA、Eigen等,这里视你的需求而定,若需要其他库,请自行下载相应库,并自行配置库的include和lib

 

 

因为我是第一次配置OpenCV3.3,怕出现一些不必要的版本兼容问题,所以没有额外添加库,并且这里将CUDA的选项也注销了,即取消勾选WITH的WITH_CUDA(第一次最好不要配置CUDA版本的OpenCV3.3,因为较复杂,若配置无CUDA版本的OpenCV3.3成功后,可以再配置CUDA版的)

 

 

再次点击Configure,确保红色画面消失,如果红色画面一直未消失,请检查WITH选项,是否勾选了不必要的库

 

 

4.点击Generate,生成opencv解决方案

 

(1) 当多次Configure后(一般只需要2次),红色界面完全消失,并出现Configuring done的提示。

(2) 此时请点击Generate按钮,生成相应的解决方案,若出现Generating done的提示,即表明解决方案生成成功。

(3) 继续点击Open Project。此时CMake会自行启动Visual studio 2013软件,打开上述生成的解决方案

 

 

5.Build并Install opencv解决方案

 

此时Visual studio 2013软件,已上述生成的解决方案opencv

Debug

(1) 右击All_BUILD,选择生成 。此时需要等待很长时间,大概半个小时

(2) 生成完成后,右击INSTALL,选择生成(会在自定义创建的OpenCV文件夹下生成一个install文件夹,包含了include和bin)

上述过程完成后,生成的是Debug版的动态链接库,此时还需要在Release下进行生成

 

Release

与上述Debug步骤一致

1) 右击All_BUILD,选择生成 。此时需要等待很长时间,大概半个小时

(2) 生成完成后,右击INSTALL,选择生成

 

 

 

 

右击install生成

 

 

自动生成的install文件夹

 

配置OpenCV3.3动态链接库

若要调用OpenCV3.3需要将bin绝对路径,添加到系统环境变量中

此时我的bin绝对路径为D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\x64\vc12\bin,如下图所示,该文件夹下有很多dll文件,其中带d的表示Debug版,不带d的表示Release版。

将bin绝对路径,添加到系统环境变量中,如何找到“编译环境变量”,可以自行百度或者参考下述界面来寻找

 

OpenCV3.3示例

此时已经配置好了OpenCV动态链接库的环境。

为了需要检验OpenCV3.3是否配置成功,能否正常调用,我们创建新的VS项目,写一段测试代码来检验。

(1) 创建新的Visual Studio工程

 

 

(2)配置工程

因为上述生成的是Visual Studio2013 x64的动态链接库,不适用于x86的工程,所以需要配置x64的工程,操作如下

 

在属性管理器中,添加新项目属性页,如选中并右击,再选择“新项目属性页”

Debug

这里将新建的属性页命名为:OpenCV3.3_VS2013_Debug_x64

 

前方高能,请系好安全带

*** 通过“视图”——“其他窗口”——“属性管理器”,然后找到项目的Debug|x64下的Microsoft.Cpp.x64.user,右键”属性“,打开属性页面

(a) include,为属性页的包含目录添加include路径,此时需要添加三个路径,即x64文件夹下的include及其子文件夹的绝对路径

 

D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\include

D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\include\opencv

D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\include\opencv2

 

(b) lib,为属性页的目录添加lib路径,即D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\x64\vc12\lib

 

并需要在属性页--链接器--输入--附加依赖项中添加库的名称

注意OpenCV3.3一共有17个动态链接库,因为是现在添加的是Debug版本,所以后缀带d(只需要将下述17个文件名Copy一下)

opencv_calib3d330d.lib
opencv_core330d.lib
opencv_dnn330d.lib
opencv_features2d330d.lib
opencv_flann330d.lib
opencv_highgui330d.lib
opencv_imgcodecs330d.lib
opencv_imgproc330d.lib
opencv_ml330d.lib
opencv_objdetect330d.lib
opencv_photo330d.lib
opencv_shape330d.lib
opencv_stitching330d.lib
opencv_superres330d.lib
opencv_video330d.lib
opencv_videoio330d.lib
opencv_videostab330d.lib

 

(c) bin,因为之前已经在系统环境变量中添加了bin文件夹路径,所以不需要再添加

 

 

Release

在属性管理器中的Release|x64,新建一个属性页命名为:OpenCV3.3_VS2013_Release_x64

 

 

下述操作和Debug类似,但库文件名称不一致,因为不含d

*** 通过“视图”——“其他窗口”——“属性管理器”,然后找到项目的Realse|x64下的Microsoft.Cpp.x64.user,右键”属性“,打开属性页面

(a) include,为属性页的包含目录添加include路径,此时需要添加三个路径,即x64文件夹下的include及其子文件夹的绝对路径

 

D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\include

D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\include\opencv

D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\include\opencv2

 

 

 

(b) lib,为属性页的目录添加lib路径,即D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\x64\vc12\lib

 

 

并需要在属性页--链接器--输入--附加依赖项中添加库的名称

注意OpenCV3.3一共有17个动态链接库,因为是现在添加的是Release版本,所以后缀无d(只需要将下述17个文件名Copy一下)

 

opencv_calib3d330.lib
opencv_core330.lib
opencv_dnn330.lib
opencv_features2d330.lib
opencv_flann330.lib
opencv_highgui330.lib
opencv_imgcodecs330.lib
opencv_imgproc330.lib
opencv_ml330.lib
opencv_objdetect330.lib
opencv_photo330.lib
opencv_shape330.lib
opencv_stitching330.lib
opencv_superres330.lib
opencv_video330.lib
opencv_videoio330.lib
opencv_videostab330.lib

OpenCV测试Demo

在写代码前,先准备一张图像,保存在工程目录下,如xxx\OpenCV3.3\OpenCV3.3_TestDemo

 

在上述工程中新建demo.cpp文件,添加下述代码

      前方高能,请带好墨镜

若出现类似以下情况时,将上述dll文件复制到C:\Windows\System32即可解决

运行结果

(1) 输出OpenCV的版本号

(2) 显示出输入的图像

 

注: 分别在Debug和Release下运行,若都能正常运行,即表明OpenCV3.3配置成功

 

总结

(1) 上述只是实现了OpenCV的基本配置,并没有配置CUDA和contrib

(2) OpenCV3.3有一个强大的地方,加入了DNN还有深度学习的相关模块,也表明现在的趋势(AI时代)

(3) 有了强大的工具,还不赶紧上手完成你的梦想。

 

参考博客:https://blog.csdn.net/amusi1994/article/details/76768775?locationNum=10&fps=1

                  https://blog.csdn.net/jinian2614/article/details/78176704?locationNum=2&fps=1

                 

                 

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Opencv是一个流行的开源计算机视觉库,可以用于图像和视频处理、特征提取、目标识别等。下面是Opencv在C++环境下的安装教程: 1. 安装依赖项:在Ubuntu下,使用以下命令安装必要的依赖项: ``` sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 2. 下载Opencv源代码:在官方网站下载最新的Opencv源代码,也可以使用以下命令从GitHub上下载: ``` git clone https://github.com/opencv/opencv.git ``` 3. 编译Opencv:进入到Opencv源代码的目录下,新建一个build目录,并进入该目录,使用cmake命令生成Makefile,然后使用make命令编译Opencv: ``` cd opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j8 sudo make install ``` 注意,这里使用了Release模式,这会使得Opencv编译得更快,但是会牺牲掉一些调试信息,如果需要调试可以使用Debug模式。 4. 配置Opencv环境变量:将Opencv库的路径添加到LD_LIBRARY_PATH环境变量中,使系统能够找到Opencv库文件: ``` export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ``` 5. 配置C++编译器:在编译C++程序时需要链接Opencv库文件,需要在编译选项中指定Opencv头文件和库文件的路径,例如: ``` g++ main.cpp -o main `pkg-config --cflags --libs opencv` ``` 这里使用了pkg-config命令来自动获取Opencv的编译选项。 希望这个安装教程能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值