环境准备
  1. visual studio ,这里以2017为例
  2. opencv (上条博客有讲基础包怎么配置,这里不展开讲了)
  3. opencv_contrib 一定要跟自己的opencv版本对应
  4. cmake https://cmake.org/download/
  5. cuda https://developer.nvidia.com/cuda-downloads(如果不装gpu的支持直接忽略)
cmake-gui 生成opencv项目
  1. 配置opencv源码地址,注意是sources目录
  2. 配置生成的项目地址,这里是mybuild,文件夹自己命名
  3. 点击configure按钮
  4. 点击configure后弹出框,我这里选择2017的,平台这里选择x64,点击finish
  5. 不出意外的话,应该会有一堆红色,下方控制台应该输出很多红色的错误
  6. 中间的地方一堆键值
  • OPENCV_EXTRA_MODULES_PATH 选择下载的opencv_contrib 里面的modules路径,注意路径最好不要有空格
  • BUILD_opencv_world 这个新手最好勾选上
  • OPENCV_ENABLE_NONFREE 这个也勾选上
    分割一下,上面这些是opencv_contrib 的安装配置,下面是cuda的安装配置,不装可以忽略不看
  • 搜索cuda关键字可以查到,勾选自己需要的,WITH_CUDA 是一定要勾选;如果不是需要gpu的话,建议不要勾选,因为编译会非常非常久
  1. 配置完后再次点击configure,不出意外的话,控制台应该输出很多错误信息,都是一些文件下载失败的错误,如果电脑可以fq的话,可以fq解决一部分;如果不能可以下面的步骤解决
  • 打开构建的路径,我这里是 E:\opencv\mybuild,找到 CMakeDownloadLog.txt 文件,打开可以看到很多下载失败的路径,可以拷贝到浏览器一个个下载下来,没有fq的话很多也是下载不下来的,这里贴出打包好的下载文件
  • 去opencv的sources路径里面,可以看到有个.cache 的文件夹,这里就是缓存的文件路径,可以看到里面基本每个文件都是0kb,这些就是下载失败的文件;我们可以把下载好的文件一一对应的copy过去,记得要改成原来0kb的那些文件的名称,好让cmake configure的时候能够找到对应的缓存文件(这是个艰苦的过程)
    注意:有些文件地址用浏览器打开会显示出文本的,这时可以右键网页选择另存为来保存文件
  1. 做好上面的步骤后,再次点击configure按钮(这是第三次点击configure了),这时控制台应该不会输出红色的错误了(可以检查下CMakeDownloadLog.txt文件看看还有没有下载失败的错误),如果没报错,可以就点击generate按钮了
  2. 构建完成后,这时可以在构建目录看到visual studio的工程了,可以在cmake点击open Project按钮打开工程,也可以去对应的路径下双击打开OpenCV.sln工程,到这里cmake已经用完了,可以关掉了
  3. 工程打开是是这样的,可以留意一下工程的环境,默认是debug
  4. CmakeTargets -> 右键INSTALL ->生成

    如果没有选择cuda模块,生成过程大概要20分钟,如果选择cuda的话,大概需要4个小时,建议晚上跑早上起来看结果
    如果你的项目需要release的话,这里的生成可以改成release环境再生成一遍
  5. 成功之后,注意项目引入路径是在install 目录下,我的是E:\opencv\mybuild\install,到这里已经成功生成了,这时可以在你的项目引入它了,引入配置参考我的上一条博客