环境:Win7 x64 + Visual Studio 2013
一:概述
OpenCV3.3新增加了DNN模块,功能十分强大,可以基于已经训练好的模型数据,实现对图像的分类与图像中的对象检测在静态图像和实时视频中。下载地址为:OpenCV官网:http://opencv.org/releases.html
二:安装
1.CMake安装
CMake的下载地址为:https://cmake.org/files/v3.8/cmake-3.8.0-rc4-win64-x64.msi
安装CMake,步骤很简单。
2、解压OpenCV源码,创建opencv3.3_build和opencv3.3_vs2013文件夹,前者作为Cmake编译目录,后者作为编译后的安装目录。
3.开始菜单 比较明显的可以找到Cmake 应用程序,打开CMake,并选择源码文件夹opencv3.3和opencv3.3_build文件夹
然后点击左下角Configure按钮,出现下面的界面:选择编译器(我选择的是Visual Studio 12 2013 Win64)
然后点击Finish按钮,CMake开始对OpenCV源码进行配置生成并下载相应函数库(此处需要若干分钟)。
当第一次Configure后,界面会出现红色部分,这是为了让用户可以手动补充相应函数库,如TBB、CUDA、Eigen等,这里视你的需求而定,若需要其他库,请自行下载相应库,并自行配置库的include和lib。需要修改一下相关选项,这里需要将CMAKE_INSTALL_PREFIX修改成之前创建的opencv3.3_vs2013目录.再次点击左下角Configure按钮,确保红色画面消失。如果红色画面一直未消失,请检查WITH选项,是否勾选了不必要的库。(若电脑没装cuda,取消勾选WITH的WITH_CUDA)
4.点击Generate按钮,生成OpenCV解决方案
(1) 当多次点击Configure按钮后(一般只需要2次),红色界面完全消失,并在界面最底下出现“Configuring done”的提示;
(2) 此时请点击Generate按钮,生成相应的解决方案,若界面底下出现“Generating done“的提示,即表明解决方案生成成功;
(3) 经过上一步后,在opencv3.3_build文件夹目录下即可看到CMake生成的编译工程opencv.sln,打开opencv.sln
或者(继续点击Open Project。此时CMake会自行启动Visual studio 2013软件,打开上述生成的解决方案。)
三:Visual Studio2013的配置
1.OpenCV解决方案的编译
注意此时 要考虑在 x64 下进行编译,若debug 旁边的小框中没有x64 选项:
右键解决方案->属性:
将平台选为X64,若无此选项,则点击配置管理器,选择X64平台,若无则新建一个X64平台并选中。
先在Debug下对工程进行编译:
找到ALL-BUILD;右击All_BUILD,然后右键>>选择生成(会消耗一段时间);
生成完成后,右击INSTALL,然后右键>>选择生成;
再在Release下进行编译和安装(和Debug类似)。
ALL_BUILD右键生成时,出现报错情况好像不影响使用。。。
2.配置OpenCV3.3动态链接库
要调用OpenCV3.3需要将bin绝对路径,添加到系统环境变量中,我的bin绝对路径为
D:\Program Files (x86)\opencv3.3\opencv3.3_vs2013\install\x64\vc12\bin
步骤:控制面板---系统和安全--系统--高级系统设置---环境变量---Path:
编辑,把路径加到最后,注意之前用分号隔开。
3、创建一个新的VS项目
#include<iostream>
#include<core/core.hpp>
#include<highgui/highgui.hpp>using namespace cv;int main()
{// 读入一张图片(游戏原画)Mat img = imread("img1.jpg");// 创建一个名为 "游戏原画"窗口namedWindow("游戏原画");// 在窗口中显示游戏原画imshow("游戏原画", img);// 等待6000 ms后窗口自动关闭waitKey(2000);
}
4.永久配置过程
找到项目的”属性管理器“,然后找到项目的Debug|x64和Release|x64下的Microsoft.Cpp.x64.user,右键”属性“,打开属性页面
在”包含目录中“添加include路径,此时需要添加三个路径,即x64文件夹下的include及其子文件夹的绝对路径:
D:\Program Files (x86)\opencv3.3\opencv3.3_vs2013\install\include
D:\Program Files (x86)\opencv3.3\opencv3.3_vs2013\install\include\opencv
D:\Program Files (x86)\opencv3.3\opencv3.3_vs2013\install\include\opencv2
在”库目录“添加lib路径,即D:\Program Files (x86)\opencv3.3\opencv3.3_vs2013\install\x64\vc12\lib
配置完之后,点击”链接器“>>"输入",在”附加依赖库“中添加:
opencv_calib3d330OFF.lib
opencv_core330OFF.lib
opencv_dnn330OFF.lib
opencv_features2d330OFF.lib
opencv_flann330OFF.lib
opencv_highgui330OFF.lib
opencv_imgcodecs330OFF.lib
opencv_imgproc330OFF.lib
opencv_ml330OFF.lib
opencv_objdetect330OFF.lib
opencv_photo330OFF.lib
opencv_shape330OFF.lib
opencv_stitching330OFF.lib
opencv_superres330OFF.lib
opencv_video330OFF.lib
opencv_videoio330OFF.lib
opencv_videostab330OFF.lib
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
全部配置完成后,测试OpenCV3.3是否配置成功.
5、若出现类似以下情况时,将D:\Program Files (x86)\opencv3.3\opencv3.3_vs2013\install\x64\vc12\bin目录下的dll文件复制到C:\Windows\System32即可解决(亲测有效~)
至此,运行成功!!!
注:解决error c4996: 'fopen': This function or variable may be unsafe错误方法:
项目 =》属性 =》c/c++ =》预处理器=》点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS,即可。