编译Opencv的GPU,利用CUDA加速

首先检查自己的机器是否支持,否则都是白搭(只有NVIDIA的显卡才支持,可在设备管理器中查看)

如果不用GPU,可以直接官网下载预编译好的库

环境:

1 VS2013

2 Opencv2.4.9

3 CUDA6.5 (只有6.5版本以上版本才加入对VS2013的支持,6.0最高支持到2012)

4 TBB

--------------以下内容转自网络(加入了自己编译时遇到的问题及解决方案)-----------------

1. 需要的文件

1.1 CMAKE 3.0 [http://www.cmake.org/download/

1.2
CUDA 6.5 [https://developer.nvidia.com/cuda-toolkit

1.3
OpenCV 源文件 [https://github.com/Itseez/opencv/releases/tag/2.4.9

1.4
Intel TBB 库 [https://www.threadingbuildingblocks.org/download

1.5
Python 2.7 (非必须)

1.6
Eigen 2.0.17 (非必须)

1.7
Visual Studio 2013 (也可以用其他版本)

2. 配置 CMAKE

2.1
打开 CMAKE

- 选择 Source Folder 到 OpenCV 的源文件目录

- 选择 Output Folder

- 勾选 Advanced

2.2
点 Configure,选择编译器

- 选择 ‘Visual Studio 12 2013 Win64′

2.3
配置 CUDA 选项

- 取消 ‘BUILD_DOCS’ and ‘BUILD_EXAMPLES’

-
取消 ‘CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE’

-
检查 ‘CMAKE_LINKER’, 保证是 Visual Studio 12.0 (vs2013)

-
选上 ‘WITH_CUBLAS’, ‘WITH_CUDA’, ‘WITH_OPENGL’, ‘WITH_TBB’

-
点击 Configure 刷新配置

2.4
配置 TBB 选项

-
把 tbb include path 设置好,例如我的是 “D:\toolkits\tbb43_20140724oss\include”。一定要选到 include文件夹为止。

-
点击 Configure 刷新

-
接着可以看到 tbb 的 library 目录自动有了,但是可能是错的,需要改到 Debug 和 Release 文件夹的上级目录为止。例如我的要加上 ‘vc12*,变成 D:/toolkits/tbb43_20140724oss/lib/intel64/vc12〃(不加vc12的话,opencv_core模块都编译不过去,其他的就不用说了)

-
点击 Configure 刷新

2.5
直到没有红色条目出现,点击 Generate 生成 OpenCV.sln

3. 编译 OpenCV.sln

-
如果 OpenCV,tbb,Python 中的某个安装在 C:\Program Files,那么你需要用管理员权限运行 vs2013 才行

-
我建议先编译 *opencv_core* 和 ‘ opencv_gpu* (右键点击,点 *BUILD*)。如果这两个没错,接下来应该都可以编译

-
右键点击 *ALL_BUILD*,在点 *BUILD*

-
*BUILD* 之后在编译一下 *INSTALL*,来把编译好的文件放在一起到 *<Output Folder>\install*

-
在切换到 Release,重复 *ALL_BUILD* 和 *INSTALL*

-
*Debug* 应该会有一个 error, *Release* 应该会没有 error

-
编译时间很长。很长。

3.
使用

-
使用的时候需要加入TBB的bin和CUDA的bin,否则运行时会报错

时间: 2024-10-08 03:44:15

编译Opencv的GPU,利用CUDA加速的相关文章

Ubuntu16.04 安装配置 Caffe 过程 (GPU版+CUDA 9.0+cuDNN 9.0+OpenCV 3.4.1)

虽然 Caffe 的官网已经有比较详细的针对 Ubuntu 的安装教程,但是要配置可以使用 GPU 的 Caffe 需要的依赖太多,包括 CUDA,cuDNN,OpenCV 等.参考了网上的很多教程,但在自己的配置中依旧出现了各种各样的意想不到的坑,所以在此记录一下自己配置 Caffe 的过程,以供参考.因为是配置完成后以回忆的形式做的记录,所以可能会有细节上的遗漏,还请见谅. 安装 Nvidia 驱动 1. 查询 NVIDIA 显卡驱动 去官网查询自己的显卡对应的驱动 http://www.n

win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)

win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)  用vs 2015打开 编译Release和Debug版本 看网上那个例子里面 工程里面有是三个文件夹 include(包含mxnet,dmlc,mshadow的include目录) lib(包含libmxnet.dll, libmxnet.lib,把用vs编译好的放过去) python(包含一个mxnet,setup.py, 以及buil

Matlab中利用mex编译Opencv实现画板绘图功能

图形绘制是标记和可视化数据的重要方法. 通过在Matlab中集成画板绘图功能, 可为科学计算提供便利. 1 设置Matlab支持Opencv编译 操作系统: 麒麟14.04(基于Ubuntu 14.04) 命令: mex -v -> mexopts.sh sourced from directory (DIR = $MATLAB/bin) FILE = /usr/local/MATLAB/R2013a/bin/mexopts.sh --------------------------------

【OpenCV】OpenCV中GPU模块使用 (转)

CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核函数,GPU运行程序:5.传输结果到CPU:6.继续主机代码执行. 下图是两个向量相加的简单示例程序和处理流图. 注意的问题:cu,cpp文件的组织 内核函数和其wrapper函数置于cu文件中. 在cpp文件声明wrapper函数,并调用wrapper函数. wrapper函数的声明定义需加ext

Ubuntu 16.04下为Android编译OpenCV 3.2.0 Manager

http://johnhany.net/2016/07/build-opencv-manager-for-android-on-ubuntu/ 最近想在Android上尝试一下SIFT和SURF匹配算法,但考虑到这些算法都是专利保护的,并没有被包含在预编译库中,所以还需要自己来动手编译OpenCV Android SDK.在OpenCV 2.4.x版本中,这些算法被包含在nonfree模块中:从3.0版本开始,用于图像特征匹配的一些算法(比如SIFT,SURF,BRIEF,FREAK等)被转移到

OpenCV 学习(利用滤波器进行边缘提取)

OpenCV 学习(利用滤波器进行边缘提取) 通过低通滤波器,我们可以将图像平滑,相反的,利用高通滤波器可以提取出图像的边缘. Sobel 滤波器 Sobel 滤波器是一种有方向性的滤波器,可以作用在 X 方向或 Y 方向. 关于这种滤波器的理论介绍可以参考: https://en.wikipedia.org/wiki/Sobel_operator 函数原型如下: void Sobel( InputArray src, OutputArray dst, int ddepth, int dx, i

win8.1 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建

win8.1 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的好处:可以调试的时候看OpenCV的源代码. 重编译要得到的东西:Debug版本和Release版本的dll,lib,头文件.(dll添加到环境变量里,运行时用,自己编译的dll调试时可以跟踪到Opencv的源码内:lib和头文件配置到编译器里) PS:如果只是使用Opencv而不需要跟踪源码,则使用Opencv自带的库文件即可.跳到5配置Opencv开发环境,对应的文件都在..\opencv\b

opencv第二课,使用cmake编译OpenCV,并添加opencv_contrib模块

一.下载安装cmake 想要在Windows平台下生成OpenCV的解决方案,我们需要一个名为cmake的开源软件,可以在camke的官网:http://www.cmake.org/上下载到 或者点击此链接进行下载http://www.cmake.org/files/v2.8/cmake-2.8.12.2-win32-x86.exe 下载完成直接运行安装就行. 二.使用cmake生成OpenCV源代码工程的解决方案 在进行opencv_contrib模块添加时,一定要保证opencv和openc

Ubuntu安装编译OpenCV一键脚本(带ffmpeg)

1.切换到用户目录 cd ~ 2.新建一个文件,命名为opencv.sh 脚本如下: version="$(wget -q -O - http://sourceforge.net/projects/opencvlibrary/files/opencv-unix | egrep -m1 -o '\"[0-9](\.[0-9])+' | cut -c2-)" echo "Installing OpenCV" $version mkdir OpenCV cd O