OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。
本篇文章将介绍在Windows系统安装OpenCV4和基于visual studio2019的环境配置方式。
1、 下载OpenCV SDK 链接:https://pan.baidu.com/s/1ijyx8mrQdowSJjPaRQBdbQ 提取码:n048 2、 安装 双击opencv-4.4.0-vc14_vc15.exe解压即可,路径可以自行选择。单击【Extract】按钮,便可以等待解压过程的结束。
3、 配置环境变量 右键单击“我的电脑”,并选择【属性】,打开“系统”界面,如下图所示,在这一界面中选择【高级系统设置】,进入“系统属性”界面。
在“系统属性”界面内单击【环境变量】按钮,并在新跳转出的页面中的“系统变量”部分找到“Path”变量,如图所示,在其后添加如下路径: C:\Program Files\OpenCV\build\x64\vc15\bin (使用自行选择的解压路径)
1、 配置环境的主要目的是告诉计算机OpenCV放在哪儿,以及告诉IDE应该去哪里寻找头文件和库文件。首先我们启动vs,创建一个控制台应用。
2、创建完成后打开项目,修改上方的“Debug”模式,将其修改为“x64”模式,如图:
3、依次单击界面上方的【视图】->【其他窗口】->【属性管理器】,在右侧会出现“属性管理器”界面,如图所示:
4、右键“Debug|x64”选择【添加新项目属性表】,添加后双击将其打开,如图所示:
5、属性页的“VC++目录”的“包含目录”和“库目录”,以及“链接器”中的“附加依赖项”,便是我们需要修改的地方。在“包含目录”里添加如下两个文件路径: C:\Program Files\OpenCV\build\include C:\Program Files\OpenCV\build\include\opencv2 配置库目录: C:\Program Files\OpenCV\build\x64\vc15\lib 配置链接器: 在“链接器”的“输入”项中的“附加依赖项”添加opencv_world440d.lib,如图:
此时项目目录中会生成一个属性配置文件,可将其保存下来,下次创建opencv目录直接将该配置导入即可,无需再次配置
代码清单 opencvTest.cpp 测试OpenCV4.4是否安装成功
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
Mat img; //声明一个保存图像的类
img = imread("D:/C++/openCV/image/lena.png"); //读取图像,根据图片所在位置填写路径即可
if (img.empty())
{
cout << "请确认图像文件名称是否正确" << endl;
return -1;
}
Mat img2;
imshow("test", img);
waitKey(0);
return 0;
}
运行上述程序,可以得到如下图所示结果,这证明OpenCV环境配置成功,可以开启OpenCV的学习之路了。
安装该模块需要用CMake编译器,可以去官网下载对应安装包自行安装,这里就不再展开。 1、下载opencv_contrib源码 链接:https://pan.baidu.com/s/15KdDZU2Qa-krhUwNwrGLRQ 提取码:hm93 下载后将源码解压到之前opencv解压的目录中。
2、cmake编译 打开cmake-gui,配置opencv源码地址和编译输出路径。
之后单击【Configure】按钮,选择将源码编译成vs2019的项目工程,同时选择x64和使用本地编译器“Use default native compilers”。
之后再次单击【Configure】开始构建,出现“Configure done”说明构建成功。在CMake界面会出现很多变量。首先找到“BUILD_opencv_world”和“OPENCV_ENABLE_NONFREE”两个变量,勾上他们后面的方框(前一个变量含义是生成一个大的.lib文件,在配置连接器的时候就只有一个opencv_world440d.lib文件;后一个的意思是可以使用具有专利保护的算法,例如SIFT等)。之后找到OPENCV_EXTRA_MODULES_PATH变量,将其值设为opencv_contrib源码的modules路径。
再次单击【Configure】,直到所有的红色变量都变成白色,再单击【Generate】开始执行cmake,完呈之后点击【Open Project】使用vs2019打开工程。
点击【生成】选择【批生成】
然后勾选ALL_BUILD和INSTALL,再点击【生成】,耐心等待编译完成即可。
3、替换配置中的路径 参考前面讲的配置方式,将opencv的路径换成编译生成的路径即可。 C:\Program Files\OpenCV\newbuild\install