此文为windows7下配置OpenCV+OpenCV_contrib4.2.0,一些配置遇到的问题可以参考我的另一篇博客[亲测可行]Ubuntu16.04+opencv3.4+opencv_contrib+cuda9.0安装。OpenCV配置分为两种:一种是直接exe文件解压,一种是使用cmake进行源码编译。
1.解压OpenCV.exe
- 压缩包
- 解压过程
- 解压结果
2.cmake编译源码包
1.打开cmake-gui,配置源码、编译路径,点击configure
2.cmake选项
(1)、在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
(2)、在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(单击这一行后方空白处即可选中),接着选择opencv_contrib文件夹中的modules文件夹。
(3)、在ENABLE_CXX11后面打√。(Opencv3.4.7版本里包含了很多C++11标准,如果没选上会在make阶段报错,参考问题8)
(4)、如果需要cuda,在WITH_CUDA打√
(5)、在BUILD_opencv_world后面打√。
(这个√可以打上,也可以不用,如果选中表示可以只生成一个库。我在编译的后面去掉了这个,因为它造成和已有的一些包的冲突)
(6)、如果需要使用特征点检测算法,比如SIFT,在opencv_nonfree后面打√。
3.generate
4.Install
点击Open Project->生成->生成解决方案;Install->仅用于项目->仅生成Install
3.环境变量设置
不管是exe包安装还是源码包编译都需要3,4步操作。
- 电脑->属性->高级->环境变量->Path
- 添加环境变量: \x64\vc14\bin
- vs和vc版本对应关系
4.新建工程
1、新建win32控制台应用程序
2、选择空项目
3. 打开属性管理器,配置包含目录、库目录、输入
4. 修改包含目录和库目录、添加链接器
5.新建项
6.代码测试
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("H:\\code\\Projects\\image\\test.jpg");
imshow("img", img);
waitKey(0);
}
5.问题(其他问题见另一篇博客)
1.ade问题
/opencv/modules/gapi/cmake/DownloadADE.cmake文件中的下载地址"https://github.com/opencv/ade/archive/"已经失效。
Cmake报告的错误如下
-- ADE: Download: v0.1.1f.zip
-- Try 1 failed=======================================================================
Couldn't download files from the Internet.
Please check the Internet access on this host.
=======================================================================
解决办法:
1. 在如下网址中,下载最新ADE源码。
https://github.com/opencv/ade/tree/release_0.1
下载后,参考DownloadADE.cmake中的变量定义,把源码的文件夹重命名,然后压缩并重命名为:v0.1.1f.zip。
2. 修改DownloadADE.cmake,
"https://github.com/opencv/ade/archive/"替换成"file:///home/user/ADE/"
执行OpenCV的编译脚本,ADE正常下载,Cmake没有报错或者警告。
2.链接器添加不成功:错误 LNK1104 无法打开文件“opencv_world341d.lib”
解决办法:将链接器的路径修改为绝对路径,如:F:\OPENCV\opencv\build\x64\vc15\lib\opencv_world341d.lib
参考:
1.CMake3.11.1+Opencv3.4.0+opencv_contrib3.4+VS2015(vc14)+Win10配置成功