OpenCV3.4.5+VS2017+扩展模块编译

一.准备工作

1.下载OpenCV源码

OpenCV源码和扩展模块(opencv_contrib)版本要对应:
1). OpenCV源码下载地址:
OpenCV下载地址:
https://github.com/opencv/opencv/releases

1508951-20190122203219295-2065754358.png

2). OpenCV扩展模块(opencv_contrib)下载地址:

https://github.com/opencv/opencv_contrib/releases

1508951-20190122203240346-1387217128.png

2.下载安装Cmake

二. 编译

  1. 分别解压opencv-3.4.5.zip和opencv_contrib-3.4.5.zip到同一个目录下的两个单独文件夹内

  2. 在该目录下新文件夹build:
    我的目录结构:
    1508951-20190122204909934-790806802.png

  3. 打开CMAKE_GUI, Browser Source选择 "...\opencv-3.4.5\opencv-3.4.5"
    Browser Build选择刚才新建的build目录 "...\opencv3.4.5\build"
    1508951-20190123134651740-1197183731.png

  4. 点击Configure选择, Visual Studio 15 2017 Win64
    1508951-20190122205240175-1641108877.png

  5. 点击Finish 开始配置
    1508951-20190122205511438-1917726493.png

  6. FFmpeg下载失败 可以到这里:https://pan.baidu.com/s/1rF3KE3cripWm_mzSOT763A 提取码:usy5 下载, 下载完成之后放到 3rdparty 目录下

  7. 如提示自己电脑上安装了python3, 可能会出现python版本错误,则把 "OPENCV_PYTHON3_VERSION"勾选上!

  8. 配置"OPENCV_EXTRA_MODULES_PATH" 目录为opencv_contrib下的modules目录"...\opencv_contrib-3.4.5\modules"
    1508951-20190122210107380-2034116627.png

  9. 如果要用编译opencv_contrib中的non-free算法模块:

    1. 为了保险起见,进入:opencv目录下,打开cmakelist.txt找到

      1. OCV_OPTION(OPENCV_ENABLE_NONFREE "Enable non-free algorithms" OFF),把OFF修改为ON

      1508951-20190301095817070-556545522.png

  10. 再次点击"Configure"
    成功之后点击"Generate"
    生成完成之后点击"Open Project"
    1508951-20190123125902277-981060967.png

  11. 在VS中分别用Debuge和Release模式编译一遍
    1508951-20190123130218949-362309371.png

![](https://img2018.cnblogs.com/blog/1508951/201901/1508951-20190123130156379-2013206263.png)
![](https://img2018.cnblogs.com/blog/1508951/201901/1508951-20190123130054317-350151991.png)
  1. 编译完成后, 右键 install->仅仅生产install
    1508951-20190123130350957-462435960.png
  2. 编译完成得到install文件夹, 除了该文件夹其他的都可以删除了
    1508951-20190123130640112-756147739.png

三.配置

  1. 右键我的电脑-->高级系统设置-->高级-->环境变量-->找到path-->新建-->填入build目录下:"...\install\x64\vc15\bin"
    1508951-20190123131545761-675566164.png

  2. 之后记得重启资源管理器

  3. 如果要在vs项目中使用则, 在项目管理器中Debuge|x64下新建属性表:
    1508951-20190123131735343-931641349.png

    1508951-20190123131941832-1973910643.png

  4. VC++目录-->包含目录, 设置为刚才install目录下的include目录 "../build/install/include"
    1508951-20190123132138908-1118786810.png

  5. 库目录设置为, X64目录下的lib目录 ".../build/install/x64/vc15/lib"
    1508951-20190123132348086-1961761398.png

  6. 打开命令行,进入".../build/install/x64/vc15/lib"目录下. 按照图中所示输入命令,得到.lib文件名, dubuge版本的lib文件以d.lib结尾, release版本,没有d.(可根据自己配置的版本自行导出.lib文件 )
    1508951-20190123132952216-1800216425.png

  7. 链接器输入,附加依赖项填入刚才得到的lib文件名
    1508951-20190123133520323-1233408191.png

  8. 至此配置完成,下边进行测试

四.测试

  1. 在vs中键入如下代码:
  //代码转自知乎: https://zhuanlan.zhihu.com/p/40323837
  
  #include "pch.h"
  #include <opencv2/opencv.hpp> //包含头文件
  #include <iostream> 
  using namespace cv;    
  using namespace std;   
  int main(int argc, char** argv) {   
    Mat src = imread("E:/OpenCV/testimage/test.png");     //载入图像
    if (src.empty()) {                    //是不是为空
      printf("could not load image...\n");
      return -1;
    }
    namedWindow("test opencv setup", CV_WINDOW_AUTOSIZE);  //创建窗口,自动大小
    imshow("test opencv setup", src);            //显示图像,窗口标题
    waitKey(0);                       //x=0无限等待下去,直到有按键按下,等待用户按键退出程序
    return 0;
}

1508951-20190123134327806-1784171437.png

转载于:https://www.cnblogs.com/procorosso/p/10305929.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值