vs2013安装opencv3.3详解

vs2013安装opencv3.3详解

1提前准备

cmake gui 使用教程,感兴趣的可以看一下

https://jingyan.baidu.com/article/a378c960c20c06b329283047.html

Windows下利用CMake和VS编译OpenCV,主要参考资源:

https://blog.csdn.net/grief_of_the_nazgul/article/details/49446605

https://blog.csdn.net/solomon1558/article/details/43780533


VS2013下OpenCV3.0环境配置:easy

https://jingyan.baidu.com/article/64d05a0245aa70de55f73b12.html

https://blog.csdn.net/langb2014/article/details/50082957

https://jingyan.baidu.com/article/ff411625b1311a12e4823784.html


我们先简单说一下vs安装opencv3.3,他是需要借助cmake编译工具来解决vs与opencv3.3的不兼容问题,因为笔者之前按照13
http://blog.csdn.net/poem_qianmo/article/details/19809337
这个链接很好装,但是opencv3.3在vs2013版上不行,所以才写此文章。话说官网其实也看到了你下载opencv3.3安装以后(怎么下载、安装,自己百度网上很多资料,其实也很简单就是去官网找到opencv-3.3.0-vc14.exe windows版,是一个EXE文件157M,然后双击它,选好安装的目录,点击exact提取,就会自动给你安装真正的opencv3.3,前面EXE文件大家应该经常装软件的那很熟悉啊)然后进去你刚才的安装的目录,看到 D:\opencv\opencv3-3\opencv\build\x64\vc14里面写的vc14即vs2015版,我的vc12即对应vs2013版,所以你明白这个版本要求就明白为啥要这么折腾啦 哭

至于vs2013的安装大家不会的话那就百度吧,先去下载,再看教程安装。
http://jingyan.baidu.com/article/09ea3ede3b2496c0afde3944.html


然后就是cmake的下载、安装了。自己去百度,也是简单的几步就完成了。

2开始cmake编译opencv

安装Cmake的过程比较简单,不再介绍,这里直接讲Cmake的使用,找到安装好的cmake,打开bin/cmake-gui,也就是启动的cmake图标,如下


(1)添加解压出的OpenCV-3.3.0的source,那个文件里面是opencv的C++的源代码,我们可以直接看着学习,所以那它来编译成vs13版,给vs用。文件夹绝对路径(比如,我的绝对路径是D:\opencv\opencv3-3\opencv\sources),这里网上都写的不清楚,所以我在这里cmake老提示找不到相关文件,总报错。
(2)自己提前新建OpenCV-3.3.0的空文件夹在你的win系统上,它用来保存你后面cmake编译好的文件,就是放在这里,这里文件夹名称为“OpenCV3.3_VS2013_x64”,因为OpenCV版本是3.3,编译器是VS2013,并且打算生成x64位的解决方案(比如,我的绝对路径是D:\opencv\opencv3-3\OpenCV3.3_VS2013_x64)
(3)然后点击左下角Configure按钮,出现下面的界面:选择编译器(我选择的是Visual Studio 12 2013 Win64)


然后点击Finish按钮,CMake开始对OpenCV源码进行配置生成并下载相应函数库(此处需要若干分钟,貌似跟网速有关系。。。)。
当第一次Configure后,界面会出现红色部分,这是为了让用户可以手动补充相应函数库,如TBB、CUDA、Eigen等,这里视你的需求而定,若需要其他库,请自行下载相应库,并自行配置库的include和lib。
本文参考博客地址的做法,即取消勾选WITH的WITH_CUDA(第一次最好不要配置CUDA版本的OpenCV3.3,因为较复杂,若配置无CUDA版本的Ope再次点击左下角Configure按钮,确保红色画面消失。如果红色画面一直未消失,请检查WITH选项,是否勾选了不必要的库。nCV3.3成功后,可以再配置CUDA版的)
这里笔者也试了一把,果然好卡,等半天没反应,直接关了cmake因为卡死了。再打开cmake,它自动保存在刚才的状态,接着就又点了一次Configure

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

(1) 当多次Configure后(一般只需要2次),红色界面完全消失,变成白色,并出现Configuring done的提示。
(2) 此时请点击Generate按钮,生成相应的解决方案,若出现Generating done的提示,即表明解决方案生成成功。

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

此时打开Visual studio 2013软件,配置上述生成的解决方案opencv,你的cmake也可以关了。

3 Vs2013的建立上面cmake编译好的opencv3.3方案

为啥要这么做啊?就是因为开头说的  啊,vs13不兼容opencv3.3,所以走了一次中间cmake的过程,如果以前有配置过的话,肯定会发现以前中间那些是可以跳过的。
点击Opencv Project按钮后,会自动启动VS2013,界面如下所示:

(1)选择CMakeTargets项目,找到ALL-BUILD;
(2) 右击All_BUILD,然后右键>>选择生成(会消耗一段时间);
(3) 生成完成后,右击INSTALL,然后右键>>选择生成(会在cmake开始时,自己创建的第二个路径,D:\opencv\opencv3-3\OpenCV3.3_VS2013_x64文件夹下生成一个install文件夹,包含了include和bin)。待会我们要让vs连接的路径也是它下面的文件资源。
ALL_BUILD右键生成时,出现下面情况好像不影响使用


Release
与上述Debug步骤一致
1) 右击All_BUILD,选择生成 。此时需要等待很长时间,大概半个小时
(2) 生成完成后,右击INSTALL,选择生成。我没去release过,应该是打开vs的时候,你选择的模式有关,可以再去弄一个release模式的。

自动生成的install文件夹,install里面有include和x64,这个是我们待会给vs13链接opencv用的。
x64是因为我的系统64位的,后面因为这个还要特意配置一次呢。实际文件更多些

4 vs2013链接opencv3.3的动态链接库

其实上面的3步是这里的铺垫也,以前的老版本直接走这里的。

若要调用OpenCV3.3需要将bin绝对路径,添加到win系统环境变量中
此时我的bin绝对路径为D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\x64\vc12\bin,如下图所示,该文件夹下有很多dll文件,其中带d的表示Debug版,不带d的表示Release版。这里的路径注意:是我们cmake后,我们开始制定cmake保存的路径,也就是说opencv3.3的源代码已经不起作用了,我们用cmake编译后(第2步)+vs生成的编译文件(第3步)都是放在我们,开始cmake界面新建的那个D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64文件下,这个才是我们的最终想要的目标,说白了生成它需要先cmake一下,再让你自己的vs去重新生成一下,才能反过来被你的vs使用

将bin绝对路径,添加到系统环境变量中,win如何找到“编译环境变量”,可以自行百度或者参考下述界面来寻找
控制面板\所有控制面板项\系统-->左下角的     高级系统设置--》跳出窗口选择最底下的     环境变量--》弹出窗口,下面的第二个窗口      系统变量   里面找    path   加上路径  D:\OpenCV\OpenCV3.3\OpenCV3.3_VS2013_x64\install\x64\vc12\bin,给系统配环境变量配置。


2
创建一个新的VS项目:把你的模式改为bebug的x64位的平台

如果vs已经打开了,点击vs左上角的 文件--》新建--》项目   弹出窗口如下:

确定上面的选项一样vsc++、win32控制台应用程序,自己取个名称,点击确定按钮,跳出如下窗口


记得选择 空项目  打钩,然后完成。

点击项目OpenCV_TestDemo这个是你刚才取的项目名字,右键选择”属性“



跳出属性页面后,点击”配置管理器“


跳出新的页面,因为上述生成的是Visual Studio2013 x64的动态链接库,不适用于x86的工程,所以需要配置x64的工程。



这里我们要设置为debug模式下的x64,我刚开始是默认win32,我点击它,新建  就有x64的选项了。


保证如上图所示,点击关闭就可以了。补充一句:以后你凡事要用opencv都要留意是否在x64,我试过,win32会报错,所以以后跑代码前要检查这个细节

3

永久配置过程

其实里面就3步都是在build文件夹里面:一个是opencv\build\include文件夹里有opencv,另一个是opencv\build\x64\vc14\lib库,第三个就是第二个里面的具体 的文件添加到动态链接库里。

但是我们说了上面是传统的方法,就那三步就可以轻松搞定,但是我们vs13不符合opencv3.3的最低vs15的要求,所以vs用不了,导致我做了以上的3步才走到这里。记住我们现在的重点是在 OpenCV3.3_VS2013_x6 4文件下
,我们费了那么大力气,就是为了得到它,我的vs13才能用。所以下面的配置都是配置它里面的文件,整体上还是传统方法,只是有些地方文件路径不同,添加动态链接库那里要写的更多而已。本质上一样的。

找到你vs菜单条点击   视图---》 跳出新菜单点击中间的   其他窗口 ---》跳出新菜单条点击底部的   属性管理器--》右边会出现属性管理器窗口。

找到项目的”属性管理器“,然后找到项目的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


整体前2步结果如下:


(c)动态链接,

配置完之后,点击”链接器“>>"输入",在”附加依赖库“中添加:


注意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

5

OpenCV测试Demo

在写代码前,先准备一张图像,保存在工程目录下,如xxx\OpenCV3.3\OpenCV3.3_TestDemo
(否则需要添加图片的绝对路径),


前面如果没有关闭你的vs,那就在你的项目里面新建一个。cpp的源文件即可,如果关闭了,那就按上面x64平台的截图,先建立一个项目,再在项目里面建一个。cpp源文件。如图:consoleapplication3表示你新建的项目名称,点击源文件右键鼠标



再贴上测试代码:

在上述test.cpp中写入以下代码:
#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;

int main()
{
        cout << "OpenCV Version: " << CV_VERSION << endl;
        Mat image = imread("img.jpg");
        imshow("img", image);
        waitKey(0);

        return 0;

}


此时要重启电脑,因为前面给系统配置过,不然运行vs代码会报错


此时,你如果不想重启的话,也简单将上述dll文件复制到C:\Windows\System32即可解决win32的操作系统,前提是你得找到那个文件,那个文件熟悉的人也好找,就在D:\opencv\OpenCV3.3_VS2013_x64\install\x64\vc12\bin里面,但是我的是64位的,所以应该放在这C:\Windows\SysWOW64 里面。

算了吧,简单点直接重启电脑就行了,省的麻烦。

运行结果

(1) 输出OpenCV的版本号
(2) 显示出输入的图像

注意那3个箭头,尤其是那个x64,运行前要看一下是否对的。另2个那不会错吧!

参考链接:

http://blog.csdn.net/lhfslhfs/article/details/7288479

https://www.zhihu.com/question/29690649

http://blog.csdn.net/panwang666/article/details/78138830

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

http://blog.csdn.net/amusi1994/article/details/76768775?locationNum=10&fps=1

https://www.cnblogs.com/lifeofershisui/p/7445062.html

http://blog.csdn.net/cv_jason/article/details/70037545

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值