作为一个初学者,第一次写作,考虑不全的地方,还望谅解!指出来大家一起进步!
我是在win10系统的电脑中进行配置,因为要写毕业论文,自己选的基于C++语言的脸部识别系统题目,需要用到OpenCV,于是在网上看完许多大神的文章之后,选择了在VS2013中配置OpenCV3.4.0
在这里主要参考了这篇博客。
在网上有许多关于vs2013中配置OpenCV3.4.0的文章,在这里主要是细致化一点,以及自己在配置时碰到的问题,便于自己以后的查阅。
资源:
1、cmake下载链接
2、OpenCV3.4.0 链接:https://pan.baidu.com/s/1VHQ_tBUHGzaglWSK0i6_vQ 提取码:lnlw
3、OpenCV3.4.0-contrib下载链接
注意:OpenCV与OpenCV-contrib的版本号必须一致!!!
一、cmake工具编译OpenCV源码
1、首先将上面三个资源都解压到自己创建的文件夹中,在这里我将其放在D盘并命名为open CV,
2、再在这个文件中创建cmake要用到的build文件夹,我命名为opencv-3.4.0_vs2013_x64,如图所示
3、然后打开cmake文件,双击bin目录下的cmake-gui.exe开始对OpenCV源码进行编译:
(1)在where is source中填写OpenCV的路径,我的路径:D:/open CV/opencv-3.4.0
在where to build中填写刚创建的build文件夹路径,我的路径:D:/open CV/opencv-3.4.0_vs2013_x64
(2)点击Configure按钮开始编译,注意:在点击之后,会显示一些编译选项,这时要取消对with_cuda选项的勾选。不取消 可能会出现冲突导致无法编译成功。
(3)再次点击Configure后下方白框中会显示configure done,然后再点击Generate,下方显示Gernerate done,然后点击 Open Project就会自动启动vs2013。到这里opencv的编译工作接完成了。
二、VS2013的配置
1、OPENCV解决方案编译
在点击Open Project后就会自动运行VS2013。进入如下界面。
(1)找到CMakeTargets文件中的ALL-BUILD。右键点击,选择生成。这里要等待一段时间。
(2)之后同样找到CMakeTargets文件中的INSTALL。右键点击,选择生成。也要等待一段时间。
2、配置OpenCV3.4.0动态链接库
(1)首先将OPENCV3.4.0的bin目录绝对路径添加到系统环境变量中。这是我的路径D:\open CV\opencv-3.4.0_vs2013_x64\install\x64\vc12\bin。
右键我的电脑—>属性—>高级系统设置—>环境变量—>新建。变量名opencv,变量值就是bin目录的路径。配置好后重启电脑即可。
(2)新建一个win32的项目,右键点击项目,选择属性。
点击配置管理器,在活动解决方案平台中选择新建,平台为X64,并将配置改为Release。
3、永久配置
找到项目的”属性管理器“,,然后找到项目的Release|x64下的Microsoft.Cpp.x64.user,右键”属性“,打开属性页面
注:项目的”属性管理器“如果在界面上没有找到的话,点击视图—>其他窗口—>属性管理器。
在VC++目录中“包含目录“”中添加include及其子文件路径,有三个:
D:\open CV\opencv-3.4.0_vs2013_x64\install\include
D:\open CV\opencv-3.4.0_vs2013_x64\install\include\opencv
D:\open CV\opencv-3.4.0_vs2013_x64\install\include\opencv2
在VC++目录中“库目录“中添加lib文件路径
D:\open CV\opencv-3.4.0_vs2013_x64\install\x64\vc12\lib
配置完之后,点击”链接器“—>"输入",在”附加依赖库“中添加:
opencv_calib3d340.lib
opencv_core340.lib
opencv_dnn340.lib
opencv_features2d340.lib
opencv_flann340.lib
opencv_highgui340.lib
opencv_imgcodecs340.lib
opencv_imgproc340.lib
opencv_ml340.lib
opencv_objdetect340.lib
opencv_photo340.lib
opencv_shape340.lib
opencv_stitching340.lib
opencv_superres340.lib
opencv_video340.lib
opencv_videoio340.lib
opencv_videostab340.lib
注:这些lib文件中的数字代表版本号,并且在数字后面有字母"d"的表示debug版本,而这里没有“d”的表示Release版本。可以根据自己在前面配置的平台进行对应的选择。
三、检测
以上所有的步骤配置完成后,检测是否配置成功。
在创建的项目工程目录下放置一张图片,并加入如下代码:
#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;
}
若出现“无法启动,因为计算机丢失opencv_core340.lib”的情况时,将上述dll文件复制到C:\Windows\System32即可解决。
程序运行之后,会输出图片和OpenCV的版本号。