windows10 环境下 opencv3.0.0+opencv_contrib重编译

opencv3.x与opencv2.x有了很大的不同,同时对于不完善,性能不稳定的模块放到了扩展模块(opencv_contrib)中,如果要增加这些扩展模块需要进行重编译,同时OpenCV3封装了许多可以直接从高层调用的基于GPU计算的方法。但是直接用官网下载的编译好的OpenCV3调用GPU命令会发生 No CUDA support 错误。

环境:windows10(64bit)+VS2013+cuda7.5+opencv3.0+opencv_contrib+cmake-3.8.2-win64

1. 确认是否安装了cuda?

  1. 检查自己的显卡是否支持CUDA, 确认自己的显卡型号,然后去Nvidia官网 https://developer.nvidia.com/cuda-gpus 查看自己的显卡是否支持CUDA。
  2. 下载并安装CUDA,可以参考博客:http://blog.csdn.net/u011821462/article/details/50145221

2. 下载安装Cmake

  1. 去Cmake官网下载适合自己环境的Cmake版本,https://cmake.org/download/
    本人下载版本为:
    windows10 环境下 opencv3.0.0+opencv_contrib重编译
  2. 双击进行安装

3. opencv重编译

  1. 下载源代码
    Opencv:https://github.com/Itseez/opencv
    Opencv_contrib:https://github.com/Itseez/opencv_contrib
    注意要从上面的链接下载,如果使用使用编译好的opencv3.0.0,很可能会出现错误。

  2. 选择一个位置,新建opencv300文件夹,并在opencv文件夹中新建build和source两个文件夹,其中build中放置的就是Cmake结果,source中放置下载的源代码,如下图所示:

    windows10 环境下 opencv3.0.0+opencv_contrib重编译

    windows10 环境下 opencv3.0.0+opencv_contrib重编译

  3. Cmake生成
    打开cmake-gui.exe,在where is the source code:放源代码,路径如图。where to build the binaries:生成的代码放置位置,路径如图。
    windows10 环境下 opencv3.0.0+opencv_contrib重编译

点击configure按钮,若你的VS版本为2013,则选择Visual Studio 12 2013 Win64,曾尝试选择Visual Studio 12 2013,但发生错误!!!
windows10 环境下 opencv3.0.0+opencv_contrib重编译

点击finish后,等待configure done,并没有发生错误,在search中查找OPENCV_EXTRA_MODULES_PATH,将其选择opencv_contrib下modules位置,再点击configure,使框中不存在红色时,点击Generate按钮,成功则显示Generate done,
windows10 环境下 opencv3.0.0+opencv_contrib重编译

  1. VS编译
    然后进入生成文件夹,打开OPENCV.sln解决方案,运行BUILD工程,时间可能较长,运行成功后,运行INSTALL工程,然后生成Opencv库,在工程文件夹下install文件夹