因为OpenCv3.1.0在工程中搜索graphcuts.cpp

时间:2022-06-27 07:32:59

OpenCV颁布时并不包罗GPU模块,若要使用GPU加速的OpenCV代码需要从头编译OpenCV。

环境和资源筹备

计算机必需有撑持CUDA 的NVIDIA GPU,并且装好了驱动措施。

安置CUDA toolkit,本文使用的是CUDA8.0。下载地点

下载OpenCV 3.2 选择的win pack版本,解压到指定文件目录下。下载地点

下载安置CMake。版本使用的是cmake-3.10.1-win64-x64.msi。下载地点

opencv-contirb-3.2.0下载,下载的是3.2.0的zip,解压到指定的目录下。opencv-contirb是opencv的扩展包。下载地点

Eigen下载,下载比来的不变版本即可,这里使用的是eigen-3.3.3,解压到指定目录下。Eigen是用来库优化矩阵的计算的。下载地点

tbb下载,tbb2017_20161004oss_win.zip,解压到指定目录下。Intel TBB是用来优化OpenCV库函数的多核计算性能的。下载地点

使用CMAKE进行工程配置

打开CMAKE,输入OpenCV的sources路径,以及将要编译的功效路径(自主创建一个文件夹),勾选择Grouped选项。

因为OpenCv3.1.0在工程中搜索graphcuts.cpp

选择编译器:选择Studio 2013 Win64。编译过程中,会下载第三方依赖库ffmpeg以及ippicv。网速欠安情况下的解决步伐。

因为OpenCv3.1.0在工程中搜索graphcuts.cpp

BUIlD栏配置

展开BILD选项,打消BUILD_DOCS( 若选择还需要其它的依赖)。

CUDA栏配置

展开CUDA选项,CUDA_TOOLKIT_ROOT_DIR应该是CUDA8.0安置的文件目录,如果在你的电脑上安置了多个版本的CUDA,请将该路径改削到CUDA8.0的文件目录下。

CUDA_ARCH_BIN选项能够编译从计算能力2.0-6.1的所有架构的代码,这个可以按照本身的实际情况进行改削,如果不加改削的话,在i7措置惩罚惩罚器上编译的时间约莫是3.5个小时,但是编译之后的代码就可以在任何机器上部署了。

选中CUDA_FAST_MATH选项,将会加速某些数学计算。配置如下:

因为OpenCv3.1.0在工程中搜索graphcuts.cpp

WITH栏配置

WITH_CUDA,WITH_FFT应该是默认选中的。

选中WITH_CUBLAS,从而可以使用cuBLAS。

选中WITH_EIGN,WITH_TBB

点击Configure,添加目录

OPENCV_EXTRRA_MODULES_PATH: ~/opencv_contrib-3.2.0/modules

EIGEN_INCLUDE_PATH:~/ eigen-eigen-5a0156e40feb

TBB_ENV_iNCLUDE: ~/tbb2017_20161004oss/include

TBB_ENV_LIB: ~/Library/tbb2017_20161004oss/lib/intel64/vc14/tbb.lib

TBB_ENV_LIB_DEBUG: ~/Library/tbb2017_20161004oss/lib/intel64/vc14/tbb_debug.lib

TBB_VER_FILE: ~/Library/tbb2017_20161004oss/include/tbb/tbb_stddef.h

注意已上的“~”都要落实到本身的文件目录下,按照解压的位置选择。

点击Configure,直到没有红色的警告呈现为止。

点击Generate,若告成功效类似如下:

因为OpenCv3.1.0在工程中搜索graphcuts.cpp

点击Open Project,打开VS工程:

 

VS编译 

在VS中点击Solution Explorer,注意将平台选择,我选择的是X64、RELEASE环境,此处按照本身的实际需求来。

因为OpenCv3.1.0在工程中搜索graphcuts.cpp,并打开,

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改削为:

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

选中CMakeTargets,右键ZERO_CHECK,单独编译一下此工程,看能否告成。如果编译告成,则进行下一步。

右键INSTALL选择build,这一步不只从头编译而且还将孕育产生的文件拷贝到install目录下。

安静沉着僻静的期待编译结束吧……

测试

新建一个空的控制台措施,配置include路径,配置lib路径,注意在这里都要选择刚编译完的新的路径。

在Linker->Input 中需要导入新编译好的lib,小窍门是找到刚刚生成lib的文件夹,按住shift+右键,选择在此处打开命令行窗口,输入 

dir /b > release.txt

 然后,粘贴复制吧。