关于 Windows 下 编译 opencv 扩展模块 opencv_contrib 的一些建议

       最近在学习opencv,其中用到了人脸识别模块,那这个就要用到opencv中的face人脸识别的那部分功能,当在VS 2017中添加 #include <opencv2/face.hpp> 时发现不对啊(我的是opencv3.3.0),下面有红色波浪线,其原因是opencv3.3.0本身并不带这个模块,为什么不带这个模块,看到有些人说是这部分功能更新比较快,因此放在了另外的地方供我们下载,这个地方就是github。在opencv官网网页的下边可以直接点击github进入(链接是https://github.com/opencv),这些模块一般在opencv_contirb得modules中。那怎么把这些模块加载进operncv中加以利用呢?这时就需要自己利用cmake结合原有的opencv3.3.0中的source文件,进行重新的编译生成一个全新的带有face人脸识别功能的库。

       由于之前从来没有接触过cmake,并不清楚怎么用,所以上网搜集了几个利用cmake对opencv进行扩展模块编译的教程,但是按照这些教程基本上都出现了问题,主要是这些教程有些细节没有讲,最后自己结合多个教程,琢磨一下,发现原来是版本的问题(后面才发现,原来opencv_contrib也有不同的版本,笨啊)。本文主要是告诉大家编译过程中应该注意的一些地方,在写之前先贴几个网址,这些网址就是主要的安装编译教程,大家可以参考,也是我之前编译过程中参考过的:

1. http://www.cnblogs.com/jliangqiu2016/p/5597501.html   在该篇文章中,并没有说opencv_contirb一定要与自己已有的opencv版本保持一致,结果因为这个版本的问题我搞了差不多一天。

2. https://github.com/opencv/opencv_contrib  这个就是 opencv_contirb 在github上的网址,其实该模块中的README.md也给出了利用cmake安装的步骤,但是也没有提到版本问题(可能是我太菜,不知道这些东西都一定要保证相同的版本)。

3. https://www.learnopencv.com/install-opencv3-on-windows/  这个是我最后找到的安装教程,对比发现,这个教程讲的很详细,这个教程里面讲到了版本的问题,基本上按照这个都不会出现什么问题了。

4. https://cmake.org/download/ 这是Cmake 软件下载的官网,官网的下载速度让我崩溃,CSDN上到是有好多可以下载这个工具的,但都需要金币。我花钱下载了一个,如果有需要的,可以发我邮箱([email protected]),免费发给你们。

     下面写一下在编译过程中应该注意的两个地方:

1. 利用cmake第一次进行configure时虽然下面显示是configure Done,但是上面还是会有一堆红色,因此这里我们要再点击一次configure,变成白色后才可以。

2. 就是版本问题,自己的opencv版本一定要和opencv_contirb的版本一致,具体可以参考上面第3个网址中的教程。

猜你喜欢

转载自blog.csdn.net/caizhengye/article/details/84490512
今日推荐