CUDA基本使用方法

在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下:

1.主机代码执行;2.传输数据到GPU;3.确定grid,block大小;

4.调用内核函数,GPU运行程序;5.传输结果到CPU;6.继续主机代码执行。

下图是两个向量相加的简单示例程序和处理流图。

注意的问题:cu,cpp文件的组织

内核函数和其wrapper函数置于cu文件中。

在cpp文件声明wrapper函数,并调用wrapper函数。

wrapper函数的声明定义需加extern "C"。

OpenCV中GPU模块的使用

使用的步骤与CUDA的基本使用方法类似,只是OpenCV中GPU模块,已经封装的内核函数的调用,其使用步骤如下:

1.验证OpenCV是否已启用GPU模块。

2.上传待处理数据到GPU (Mat --> GpuMat)。

3.调用OpenCV支持的GPU的处理函数。

4.下载处理结果到CPU (GpuMat ---> Mat)。

其示例程序如下,完成颜色转换,BGR2GRAY。

【OpenCV】OpenCV中GPU模块使用 (转)的更多相关文章

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

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

  2. OpenCV中GPU模块使用

    CUDA IT168的文章系列: Cuda的初始化:http://tech.it168.com/a2011/0715/1218/000001218458.shtml OpenCV: OpenCV中GP ...

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

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

  4. Ubuntu安装opencv 为调用gpu模块

    也真够折腾的. 事件背景:为了一个光流的提取处理,本来是3.1的opencv在include一些模块上出错,原因是opencv3.0以上的版本对模块进行了再分离,要contribute,但是contr ...

  5. 【OpenCV开发】使用OpenCV的OpenCL(ocl)模块

    参加OpenCV的OpenCL模块(以下称OCL)移植工作已经有2个月了.这里我说移植而不是开发,是因为大部分OCL模块的函数都是从已经很成熟的GPU模块移植过来的.于是目前阶段OCL模块所支持的函数 ...

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

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

  7. 《学习OpenCV》中求给定点位置公式

    假设有10个三维的点,使用数组存放它们有四种常见的形式: ①一个二维数组,数组的类型是CV32FC1,有n行,3列(n×3) ②类似①,也可以用一个3行n列(3×n)的二维数组 ③④用一个n行1列(n ...

  8. [转]VS2015+OpenCV3.3 GPU模块和opencv_contrib模块的编译以及采用CMake编译opencv_contrib时提示“No extra modules found in folder”问题的解决方案

    据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边.但是这里边有很多我们经常要用的算法 ...

  9. <学习opencv> opencv 概述及初探

    目录 Opencv3 当前模块 OpenCV 贡献库(opencv_contrib) OpenCV 头文件 旧式C风格头文件 新式C++风格头文件 例程 DEMO1 - 显示图片 DEMO2 - 视频 ...

随机推荐

  1. web----Tornado

    安装: pip3 install tornado 源码安装 https://pypi.python.org/packages/source/t/tornado/tornado-4.3.tar.gz 简 ...

  2. poj2464扫描线好题,回头再做

    扫描线+区间更新 题解 /* st[i],ol[i]表示y坐标大于y[i]和小于y[i]的点 两颗线段树建立在y轴上,区间[l,r]ol线选在[l,r]时st的分数 每次查询完成后再更新一次 遍历每条 ...

  3. Fiddler抓包11-HTTPS证书Actions无法导出问题

    前言 在点Actions时候出现Export Failed:The root certificate could not be located.最近有很多小伙伴在fiddler导出证书的时候,遇到无法 ...

  4. linux命令: chown命令

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  5. python 全栈开发,Day12(函数的有用信息,带参数的装饰器,多个装饰器装饰一个函数)

    函数的执行时,*打散.函数的定义时,*聚合. from functools import wraps def wrapper(f): # f = func1 @wraps(f) def inner(* ...

  6. 变量 构造函数 New 关键字

    变量:脚本必须暂时地存储一些完成工作所需的信息,可以将这些数据存储在变量中.可将变量看作短暂记忆. 变量可以用来表示脚本代码中随时可能变化的值.通过使用存储在变量中的数据,可以计算出想要的结果. 声明 ...

  7. HDU1850 尼姆博弈求可行方案数目

    尼姆博弈(Nimm's Game) 题型 尼姆博弈模型,大致上是这样的: 有3堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取1个,多者不限,最后取光者得胜. 分析 1.首先自己想一下 ...

  8. JAVA代码设置selector不同状态下的背景

    Selector设置button点击效果(详细)以及常见问题https://www.jianshu.com/p/a0ddba6d7969 Android 代码动态设置TextView的背景.颜色Sel ...

  9. BZOJ3198 [Sdoi2013]spring 哈希 容斥原理

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3198 题意概括 有n(1<=n<=100000)组数据,每组数据6个数. 现在问有几对 ...

  10. BZOJ4989 [Usaco2017 Feb]Why Did the Cow Cross the Road 树状数组 逆序对

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4989 题意概括 一条马路的两边分别对应的序列A.B,长度为n,两序列为1到n的全排列.当Ai=Bj ...