【OpenCV学习】Cuda-OpenCV-Image-Filter
最近在学习,利用CUDA加速图像处理方面知识.
下面主要介绍codeproject上的一个项目例子.利用cuda进行图像滤波处理.
网址:http://www.codeproject.com/Articles/206036/Image-Filters-using-CPU-and-GPU
其处理流程如下:
其中,也可以从视频文件中读取数据,进行处理.
主要类图如下所示:
ISingleImageFilter是抽象类,提供接口,SingleImageFilter实现抽象类的基类,增加一些属性成员变量.
利用虚函数实现多态,通过指向基类的指针调用不同子类的函数实现.
思考点:
1).其类体的设计,以及类之间的继承关系,比较好.
利用虚函数来实现不同的滤波操作,实现cpu,gpu,gpu上是否使用纹理等不同版本的滤波操作.
2).基于cuda的滤波实现,利用内核函数入口的指针,分离内核函数的实现,便于利用nvcc来编译内核函数.
3).基于cuda的滤波的优化扩展,只需修改其内核函数的实现,以及相应的指针即可.
4).更多滤波操作的扩展,只需继承SingleImageFilter类,并实现虚函数FilterImage(char *imageData)即可.
后期工作:
1).针对不同的滤波操作,在cuda实现,提供其优化版本.
2).新建MultiImageFilter接口,使其可以让Multi Image一起进行滤波操作.
转载于:https://www.cnblogs.com/dwdxdy/archive/2012/06/08/2541387.html
【OpenCV学习】Cuda-OpenCV-Image-Filter相关推荐
- OpenCV学习-P34-P38 Opencv边缘检测
OpenCV学习-P34-P37 Opencv边缘检测 Sobel检测算子 Laplacian检测算子 Canny边缘检测算法 边缘检测总结 边缘检测分为两类:基于搜索和基于零穿越 基于搜索:寻找图像 ...
- OpenCV学习-P29-P32 Opencv直方图均衡化、掩膜
OpenCV学习-P29-P32 Opencv直方图均衡化及掩膜 1 直方图 2 直方图均衡化 3 直方图自适应均衡化 1 直方图 直方图原理:统计图像各个灰度区间的像素数 cv2.calcHist( ...
- opencv学习(part1)--OpenCv框架介绍
学习笔记,仅供参考,有错必究 文章目录 opencv学习 OpenCv框架介绍 二值图像分析 二值图像定义与说明 图像二值化介绍 常见的二分类分割方法 opencv学习 OpenCv框架介绍 Open ...
- OpenCV学习(22) opencv中使用kmeans算法
kmeans算法的原理参考:http://www.cnblogs.com/mikewolf2002/p/3368118.html 下面学习一下opencv中kmeans函数的使用. 首先我们通过Ope ...
- Opencv学习笔记——opencv配置安装与IDE环境安装
文章目录 前言 一.opencv配置安装 二.IDE的安装 总结 前言 既然开始对AI视觉这个方面有兴趣,也初步接触了一些AI视觉在嵌入式方面的应用,那自然少不了对Opencv的学习.到现在开始学习o ...
- Opencv学习笔记 - OpenCV 4机器学习算法简介
在机器学习中,一些比较流行方法的包括:支持向量机(SVM).人工神经网络(ANN).聚类.k-最近邻.决策树和深度学习.OpenCV支持并实现几乎所有这些方法,并有详细的文档说明(包含在Main mo ...
- OpenCV学习——绘制OpenCV徽标
今天看到一个关于OpenCV的练习题,用绘图功能创建OpenCV的徽标. 关于OpenCV的绘图功能,在下面这篇笔记里写过了,这里不再多写,直接上代码!OpenCV学习--绘图功能_笨小古的博客-CS ...
- Opencv学习_3 (Opencv读取视频 视频进度控制 写视频)
opencv读取视频: 使用opencv读取视频主要用到这几个函数:cvCreateFileCapture cvQueryFrame (或cvGrabFrame cvRetrieveFrame) ...
- OpenCV学习(1) OpenCV的安装
前沿 准备了好几天,终于开始了,不管怎样,接下来的这个月一定把这本书很好的啃下来.当然OpenCV可以在很多的IDE下安装与配置,我这里就只在VS2010和VC6.0下安装配置了,当然这篇博文主要讲在 ...
- OpenCV学习:OpenCV源码编译(vc9)
安装后的OpenCV程序下的build文件夹中,只找到了vc10.vc11和vc12三种编译版本的dll和lib文件,需要VS2010及以上的IDE版本,而没有我们常用的VS2008版本. 于是,需要 ...
最新文章
- linux驱动:i2c驱动(三)流程图之注册设备
- git常用命令和场景
- 添加RichEdit控件导致MFC对话框程序无法执行的解决方法
- Android实现程序之间的跳转
- 散户“大溃败”?GME连续5日暴跌80% 白银价格急转直下
- Widows下TortoiseGit登录密码错误
- javascript事件之:谈谈自定义事件
- 百度地图集成Plist文件需要增加的字段
- Item 22. 模板方法与曲线救国(Template Method)
- 如何在Linux上安装Oracle客户端连接工具sqlplus
- 计算机组成原理——输入/输出系统(I/O接口外设中断)
- 这套精美的开源数据报表模板,美呆了
- 如何在AD中批量创建域用户
- VScode前进和后退按钮,非快捷键
- 关于SuperSlide插件的使用
- 《个人理财》书中的精髓:如何通过金融学理论知识的学习,建立更加完善的金融体系,让自己更加富有。
- 爱回收上市进程加速:原云集CFO陈晨加盟,转转等强敌环伺
- 商品表(spu)、规格表(sku)设计
- 怎么录制屏幕视频?电脑按哪个键录制屏幕
- 【转载】elsarticle使用入门2 爱思唯尔(Elsevier)期刊模板的使用