Content
- 准备工作
- 第一步
- 第二步
- 第三步
- 第四步
- 第五步
- 测试
准备工作
1、cmake(如果需要编译X64的库,需要下载X64cmake)
链接:https://cmake.org/download/
2、Opencv源码和opencv_contrib源码(切记!切记!切记!版本一定要相同。)
譬如说,OpenCV 4.3.0 和 OpenCV_contrib 4.3.0
链接:https://github.com/opencv
什么?你不知道怎么下载相同的版本?那看这里来
点击issue,所有发行版都在这里啦。后面的号码对应的就是版本号。
链接:https://github.com/opencv/opencv/releases
3、VS2015、VS2017、VS2019都可以啦
接下来就开始正式开始操作啦。
第一步
找到下载的cmake目录。打开bin目录,双击cmake-gui.exe
第二步
如图所示
第一个黄线位置选择你刚才下载的opencv4.3.0目录,是根目录并不是你下载的文件的某一个子目录。
第二个黄线位置选择你需要构建的目录,建议创建一个空目录。我这里是创建了一个空的build目录来进行存放解决方案。
第三步
在填写完上述两个地址以后,然后点击左下角的configure按钮,会弹出如下的操作框,这里需要选择你的编译器版本和需要生成的库的类型是32位的还是64位的。我在这里选择VS2015、X64。单选框选择第一个use default native compilers。点击finish。自动开始configure
第四步
在第一次configure之后,界面一般会有很多红色的项,找到
OPENCV_EXTRA_MODULES_PATH,填入你下载第二个库OpenCV_contrib中modules路径。
(注意:这里需要填写的是OpenCV_contrib模块中的子目录modules路径)
继续点击configure,会发现一些红色项变白色了,但是还会有一些红色的项,什么都不用改,再次点击configure,终于,所有的项都变白色了。点击generate。
第五步
找到你创建的那个空的目录(刚才第二个黄线的地址),会生成如下的内容。双击下面标记红色线的解决方案,会开始加载项目。
项目加载完以后会有如下的模块被加载,如果有face模块,证明加载contrib库成功。
成功以后默认是ALL_BUILD项目,直接点击上面的本地window调试器运行,他就会自动开始进行编译。
编译完以后会有如下的弹窗(这个没事,因为他只是生成库并不能直接运行)。
至此,我们就生成了所有的库,但是有一个问题,不是官方给的那种有bin、include目录的那种。那就需要构建INSTALL目录了。右击INSTALL目录 -> 仅用于项目 -> 仅生成INSTALL项目。
过程:
至此,所有的操作就已经完成了。我们打开刚才的解决方案路径,赫然发现里面多了一个install的目录。
双击打开,这不是就和官方下载的一模一样嘛!!!再打开X64
里面的bin和lib就是我们需要的库了。。。。
测试
赶紧测试一把:
#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/face.hpp>
#include <opencv2/highgui/highgui_c.h>
using namespace cv;
using namespace cv::face;
using namespace std;
int main()
{
Mat m1 = imread("girl2.jpg");
namedWindow("sss", CV_WINDOW_NORMAL);
imshow("sss", m1);
waitKey(50000);
return 0;
}
结果:
完结,撒花。。。。。。。。