• 【OpenCV学习】CudaOpenCVImageFilter


    最近在学习,利用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一起进行滤波操作.

  • 相关阅读:
    一些基础的前端技术面试问题
    HTTP与HTTPS区别
    XML与JSON
    js的内置对象
    二分法查找
    img下面的留白解决
    大家好
    HEOI2020游记
    CSP-S2019游记
    省选模拟八十六 题解
  • 原文地址:https://www.cnblogs.com/dwdxdy/p/2541387.html
Copyright © 2020-2023  润新知