首先检查自己的机器是否支持,否则都是白搭(仅仅有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,否则执行时会报错

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

  1. 【计算机视觉】关于OpenCV中GPU配置编译的相关事项

    [计算机视觉]关于OpenCV中GPU配置编译的相关事项 标签(空格分隔): [计算机视觉] 前一段发现了OpenCV中关于GPU以及opencl的相关知识,打算升级一下对OpenCV的使用,但是发现 ...

  2. 编译opencv有关cuda的代码

    opencv3.2提供了cuda很好的支持,cuda的opencv接口,让用户想使用opencv那样去使用cuda,不用写cuda代码 一开始编译opencv有关cuda的代码,opencv 里sam ...

  3. windows 10 上源码编译OpenCV并支持CUDA | compile opencv with CUDA support on windows 10

    本文首发于个人博客https://kezunlin.me/post/6580691f/,欢迎阅读! compile opencv with CUDA support on windows 10 Ser ...

  4. 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 ...

  5. Windows下利用CMake和VS2013编译OpenCV

    转载自:http://www.chengxulvtu.com/2014/03/19/windows_build-opencv-with-cmake-and-vs2013.html   获取OpenCV ...

  6. 【计算机视觉】【并行计算与CUDA开发】OpenCV中GPU模块使用

    CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...

  7. 利用MONAI加速医学影像学的深度学习研究

    利用MONAI加速医学影像学的深度学习研究 Accelerating Deep Learning Research in Medical Imaging Using MONAI 医学开放式人工智能网络 ...

  8. 【OpenCV】OpenCV中GPU模块使用

    CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...

  9. WIN7x64+VS2010+OpenCV2.4.10+cmake3.5.0重新编译OpenCV

    1,参考博文 Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV [OpenCV入门教程之七] 玩转OpenCV源代码:生成OpenCV工程解决 ...

随机推荐

  1. C++11之auto和decltype

    auto自动类型推断,用于从初始表达式中推断出变量的类型. auto a;// 错误,没有初始化表达式,无法推断出a的类型 autoint a =10;// 错误,auto临时变量的语义在C++ 11 ...

  2. ROS数据可视化工具Rviz和三维物理引擎机器人仿真工具V-rep Morse Gazebo Webots USARSimRos等概述

    ROS数据可视化工具Rviz和三维物理引擎机器人仿真工具V-rep Morse Gazebo Webots USARSimRos等概述 Rviz Rviz是ROS数据可视化工具,可以将类似字符串文本等 ...

  3. Introduction to MWB Minor Mode

    Introduction to MWB Minor Mode */--> Table of Contents 1. Introduction 2. Usage 1 Introduction MW ...

  4. python中mock的使用

    什么是mock? mock在翻译过来有模拟的意思.这里要介绍的mock是辅助单元测试的一个模块.它允许您用模拟对象替换您的系统的部分,并对它们已使用的方式进行断言. 在Python2.x 中 mock ...

  5. PHP5.6中php-fpm的配置、启动、关闭和重启

    转:http://blog.csdn.net/field_yang/article/details/52401994 该文主要讲述:如何配置PHP-fpm.常见报错解决方法和php-fpm的启动.关闭 ...

  6. RabbitMQ系列之高可用集群

    为了实现高可用,我采用LVS+双节点RabbitMq , 架构图如下: 在RabbitMQ之前放了LVS, LVS 采用 rr 轮询算法 , 目的是将请求平均分配到两个真实节点,并配置5672端口监控 ...

  7. Python全栈开发之目录

    基础篇 Python全栈开发之1.输入输出与流程控制 Python全栈开发之2.运算符与基本数据结构 Python全栈开发之3.数据类型set补充.深浅拷贝与函数 Python全栈开发之4.内置函数. ...

  8. LoadRunner 参数化之 连接数据库进行参数化

    LoadRunner 参数化之 连接数据库进行参数化 Loadrunner(简称“LR”)对性能测试的脚本进行参数化时,由于数据量偏大,大家往往都会把数据录入到数据库表里,然后关联到LR,本文将详细介 ...

  9. tp5总结(三)

    1.控制器 1-1.加载页面[使用系统函数eg:http://ww:7070/tp5-2/public/admin/test/load] 1-2.加载页面[继承控制器方法eg:http://ww:70 ...

  10. java 里的内部类

    java里的内部类通常能帮我们隐藏一些具体实现,体现良好的封装效果. 内部类又分几种: 1.普通内部类 2.局部内部类 3.匿名内部类 4.静态内部类 普通内部类 先来看第一种普通的内部类,这种内部类 ...