由于需要使用opencv3.2的第三方库中dnn库做人脸比对( OpenCV+dnn 深度学习框架),而官网下载的opencv中没有dnn模块,故需要用cmake编译opencv,opencv_contrib中源码,得到dnn库。

    一、准备工作

    我电脑配置有:win7系统,64位,visual studio 2015。

    opencv3.2下载:https://opencv.org/

    opencv_contirb下载:https://github.com/opencv/opencv_contrib

    cmake3.7下载:https://cmake.org/download/

    下载以上对应版本软件,本博客默认已经安装好visual studio 2015,并配置好了opencv3.2,安装好了cmake。

     我将opencv3.2直接解压到E:\opencv3.2\opencv,将opencv_contirb也解压到该路径,并新建mybuild文件夹,用于存放cmake编译生成的库等,如下图所示:

      

    二、利用cmake编译opencv和opencv_contrib库

    1、在cmake/bin中双击cmake-gui.exe打开cmake;

    2、where is the source code目录选择opencv3.2中源码目录,即E:\opencv3.2\opencv\sources;where to build the binaries目录选择编译生成库的存放路径,即E:\opencv3.2\opencv\mybuild。点击configure,选定编译器为visual studio 14 2015,点击finish。

    3、编译一段时间,可能会报错,如下图所示:

     

    在红色区域找到OPENCV_EXTRA_MODULES_PATH,设置它的值为opencv_contrib/modules的绝对路径,即E:\opencv3.2\opencv\opencv_contrib\modules。再在红色区域内去掉WITH_CUDA等硬件不支持的库,再次点击configure。

    4、编译一段时间,还可能会报错,是由于国内网络原因,导致部分库不能下载:

    opencv_ffmpeg_64下载:https://download.csdn.NET/detail/xzzppp/9749910

    ippicv_windows_20151201下载:https://download.csdn.Net/detail/xzzppp/9749959

    protobuf-cpp-3.1.0.tar下载:https://download.csdn.net/detail/xzzppp/9749965

    替换完后,再次点击configure,如果一切顺利会显示configure Done,表明configure完成。

    5、点击Generate生成。

    三、利用visual studio 2015编译Release库(Debug库类似)

    1、打开E:\opencv3.2\opencv\mybuild目录下的OpenCV.sln;

    2、在Cmake Target中找到INSTALL,右击将其设置为启动项,选择Release 64位条件,右击点击build生成Release库,没有报错就成功了。如下图所示:

上面是转自https://blog.csdn.net/xzzppp/article/details/54926117,

下面是自己的:,主要是包替换的问题,需要修改错误提示的.cmake文件,将FILENAME替换为 PACKAGE,如果文件还是无法下载,这时会在3rdparty对应的目录下有一个0字节的文件,替换该文件即可

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐