编译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,否则执行时会报错
编译Opencv的GPU,利用CUDA加速的更多相关文章
- 【计算机视觉】关于OpenCV中GPU配置编译的相关事项
[计算机视觉]关于OpenCV中GPU配置编译的相关事项 标签(空格分隔): [计算机视觉] 前一段发现了OpenCV中关于GPU以及opencl的相关知识,打算升级一下对OpenCV的使用,但是发现 ...
- 编译opencv有关cuda的代码
opencv3.2提供了cuda很好的支持,cuda的opencv接口,让用户想使用opencv那样去使用cuda,不用写cuda代码 一开始编译opencv有关cuda的代码,opencv 里sam ...
- 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 ...
- 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 ...
- Windows下利用CMake和VS2013编译OpenCV
转载自:http://www.chengxulvtu.com/2014/03/19/windows_build-opencv-with-cmake-and-vs2013.html 获取OpenCV ...
- 【计算机视觉】【并行计算与CUDA开发】OpenCV中GPU模块使用
CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...
- 利用MONAI加速医学影像学的深度学习研究
利用MONAI加速医学影像学的深度学习研究 Accelerating Deep Learning Research in Medical Imaging Using MONAI 医学开放式人工智能网络 ...
- 【OpenCV】OpenCV中GPU模块使用
CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...
- WIN7x64+VS2010+OpenCV2.4.10+cmake3.5.0重新编译OpenCV
1,参考博文 Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV [OpenCV入门教程之七] 玩转OpenCV源代码:生成OpenCV工程解决 ...
随机推荐
- CF3A 【Shortest path of the king】
一句话题意:在8 * 8的棋盘上,输出用最少步数从起点走到终点的方案 数据很小,可以广搜无脑解决 定义数据结构体 struct pos{ int x,y,s; //x.y表示横纵坐标,s表示步数 ]; ...
- SQL SERVER 触发器介绍
什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:upda ...
- 更改MyEclipse中的src目录的浏览方式
看到这个标题,有人可能不会明白,这里先看张图: 右边的图就是我们要更改的样子,有的时候我们做项目需要看下目录的层次,于是使用了Navigator的那个视图,其实常用的这种包视图也可以变成那种样式. 这 ...
- Java实现统计某字符串在另一个字符串中出现的次数
面试时会经常考这样的题目,估计也不让使用正则表达式.还好这个算法还算简单,不过在草稿纸上写难免会出现运行异常,好吧,面试官赢了,乃们屌丝就实实在在的把代码码出来吧. 谢谢“心扉”对我代码bug的纠正, ...
- bzoj 3676 后缀自动机+马拉车+树上倍增
思路:用马拉车把一个串中的回文串个数降到O(n)级别,然后每个串在后缀自动机上倍增找个数. #include<bits/stdc++.h> #define LL long long #de ...
- HBase结合MapReduce批量导入(HDFS中的数据导入到HBase)
HBase结合MapReduce批量导入 package hbase; import java.text.SimpleDateFormat; import java.util.Date; import ...
- ffmpeg 添加filter步骤
a). 自己写一个XXX.c文件,比如vf_transform.c,放在libavfilter目录下.代码可以参考其他filter: b) 在libavfilter/allfilters.c添加一行: ...
- 【原创】MHA对MySQL master Too many connections错误的处理机制
有台服务器故障期间的现象: 1. 可以正常ping通 2. telnet服务端口报Too many connections错误 3. ssh连接不上 查看MHA的管理日志,在强制关机前的health ...
- zoj-1610线段树刷题
title: zoj-1610线段树刷题 date: 2018-10-16 16:49:47 tags: acm 刷题 categories: ACM-线段树 概述 这道题是一道简单的线段树区间染色问 ...
- JAVA 获取分行符
public static final String CR_LF = System.getProperty("os.name").startsWith("Windows& ...