opencv3.0中与CUDA相关的头文件和库解释

目前,opencv中的cuda接口能够实现的算法还比较少,并不是很齐全,使用前需要先确定算法是否存在cuda接口


相对2.x的改动

* 不再使用cv::gpu的命名空间,改用cv::cuda

* 头文件中需要单独引用

#include "opencv2/core.hpp"
#include "opencv2/cudaarithm.hpp"
#include "opencv2/cudafilters.hpp"
...

调用不同的cuda函数需要引用对应的头文件

* 增加了一些函数,同时删除了一些函数,改变了某些函数的用法

例如,gpu::add、 gpu::multiply、gpu::subtract的形参有所改动,使用stream时与2.x版本是一样的

例如,滤波函数的调用方式也改变了,先要创建一个cv::Ptr<gpu::Filter>的对象,作为滤波器,然后调用该对象的apply方法进行实际滤波,以下为高斯滤波的例子:


cv::Ptr<cv::cuda::Filter> gauss = cv::cuda::createGaussianFilter(CV_32F, CV_32F, Size(11, 11), 1.5, 0, cv::BORDER_DEFAULT,-1);	//创建高斯滤波器
gauss->apply(src, dst);	//高斯滤波



前提说明:每个库包含的类或函数均可以在对应的.hpp中找到,与cuda相关的hpp存放在include\opencv2目录下,并以cuda开头


opencv2/cudaarithm.hppopencv_cudaarithm300.lib

基本运算,如add、subtract、multiply、divide等


opencv2/cudaimgproc.hppopencv_cudaimgproc300.lib

图像处理(色域处理、直方图、霍夫变换、特征检测),如HoughLinesDetector类、CannyEdgeDetector类、CLAHE类、calcHist函数等


opencv2/cudafilters.hppopencv_cudafilters300.lib

二维图像滤波算法,如Box Filter、Linear Filter、Laplacian Filter等


opencv2/cudafeatures2d.hpp和opencv_cudafeatures2d300.lib

特征检测和描述,DescriptorMatcher类、ORB类


opencv2/cudaobjdetect.hpp和opencv_cudaobjdetect300.lib

目标检测,包括HOG、CascadeClassifier

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值