OpenCV 3.4.1编译与添加扩展模块

前言

亲测有效!!!
配置:CMake3.12.0+OpenCV3.4.1+OpenCV_contrib3.4.1+VS2015+Win1064位.

写之前,大家可能会问,官网上可以下到编译好的库,为什么还要自己编译呢?
原因之一:项目架构的改变是OpenCV3最大的革新之处,抛弃了整体架构,使用内核+插件的架构形式。官网上提供的编译好的库只包含其核心模块,并不包含OpenCV_contrib中的扩展模块。
原因之二:我们可以对其源代码进行修改,重新编译后为自己所用。

软件及库的下载

  1. cMake下载:想要在Windows平台下生成OpenCV的解决方案,我们需要一个名为cMake的开源软件,可以在camke的官网:(https://cmake.org/)上下载到或者点击此链接进行下载其他版本的cMake(https://cmake.org/download/)
  2. OpenCV3.4.1的下载地址(https://opencv.org/opencv-3-4-1.html)
  3. OpenCVcontrib下载地址: https://github.com/opencv/opencv_contrib

安装步骤

  1. 直接运行opencv-3.4.1-vc14_vc15.exe
    在这里插入图片描述
  2. 安装cMake软件,默认安装即可
  3. 打开CMake GUI之后,选择好路径,点击配置,在configure的对话框中一定要选择Visual Studio 15 Windows 64才可以。注意:其中我将生成的文件放置在第一步生成的文件夹内,取名为newbuild,然后它就会自动运行得到如下结果: 在这里插入图片描述
    在这里插入图片描述
  4. 因为编译过程中需要下载一些文件,所以请保持网络畅通,如果下载失败,则需要手动下载,遇到这种情况请参照其他教程。第一次编译一般不会通过,会出现一片红的情形,请不要着急,可以继续点“configure”,直到所有内容变为白色,同时状态栏会提示“Configuring done”。
    另外,请注意,第一次编译后请手动勾选BUILD_opencv_world和BUILD_EXAMPLES。勾选BUILD_opencv_world,主要是把所有的lib文件都弄到一个opencv_world341d.lib中方便配置,若不勾选在最后会产生大量.lib文件,导致最后配置Opencv到vs会太麻烦,有过OpenCV动态链接库的人都知道。勾选 BUILD_EXAMPLES,就是编译Opencv自带的例程。
  5. 点“configure”,直到所有内容变为白色。
  6. 点击“Generate”.完成后会提示“Generating done”。
  7. 在D:\opencv\newbuild\install文件夹下找到OpenCV.sln这个文件,双击打开。
  8. 在Visual Studio软件上,找到:生成->批生成在这里插入图片描述
    点击生成,根据电脑的配置不同,这个过程大概30分钟以上。
  9. 设置这个目录的环境变量D:\opencv\newbuild\install\x64\vc14\bin
  10. 找到属性管理器 在这里插入图片描述
  11. 右键属性
    在这里插入图片描述
  12. 在这里插入图片描述
    可执行文件目录:D:\opencv\newbuild\install\x64\vc14\bin
    包含目录:
    D:\opencv\newbuild\install\include
    D:\opencv\newbuild\install\include\opencv
    D:\opencv\newbuild\install\include\opencv2
    库文件目录:D:\opencv\newbuild\install\x64\vc14\lib
    在这里插入图片描述
    添加:opencv_world341d.lib 不清楚可以看第四步。
  13. 测试代码:
#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
using namespace cv;  
int main()  
{  
    // 读入一张图片
    Mat img=imread("pic.jpg");  
    // 创建一个名为 "游戏原画"窗口  
    cvNamedWindow("游戏原画");  
    // 在窗口中显示游戏原画  
    imshow("游戏原画",img);  
    // 等待6000 ms后窗口自动关闭  
    waitKey(6000);  
    return 0;
}  
  1. 测试完成,如若安装有问题可参照以下博客。
    (https://blog.csdn.net/u013832707/article/details/53127710?utm_source=blogxgwz2)

猜你喜欢

转载自blog.csdn.net/Haiqiang1995/article/details/89816246