图像快速平滑处理方法

来源 :电脑迷 | 被引量 : 0次 | 上传用户:dashanLau
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 为了解决计算密集型的图像平滑,在分析常见的平滑算法的基础上,采用统一计算设备架构的软件和硬件架构,提出了一种利用图形处理器(GPU)的实现方法。首先引入了高强度的GPU并行计算的结构,介绍了GPU均值滤波和中值滤波两种典型的算法。然后,用不同分辨率的图像作为测试数据,比较相同的市场价格下CPU和GPU之间的计算效率。实验结果表明,同种算法GPU获得了与CPU相同的效果,同时提高的计算效率是CPU的10倍,从而证明了GPU在数字图像处理中的实际应用效果。
  关键词 图形处理器 图像平滑 图像处理
  中图分类号:TP31 文献标识码:A
  0 引言
  近年来,随着图形处理器硬件技术的不断发展以及可编程能力的不断增强,越来越多的应用通过使用基于GPU的计算框架提高了算法和系统的效率。GPU的应用领域不断扩大,已被广泛地应用到通用信号处理、物理模拟、财务数据分析以及生物科学等领域,并取得了显著的效果。在分子动力学领域中,GeForce 8800GTX 实现了比CPU高达240倍的处理速度。在脑电波模拟、视觉和嗅觉计算等方面,通过协同CPU和GPU工作,实现了130倍的性能提高。借助GPU,GIS(地球信息系统)原本需要20分钟完成的计算过程,现在只需要30秒就能完成。
  1 GPU并行计算架构
  GPU现在已已实现可编程的图像处理,由于它具有高内存带宽驱动的多内核,已成为图像处理的绝对主力。
  1.1 GPU架构
  GPU支持单指令多数据(SIMD)指令的数据并行计算。在SIMD结构中,单一的控制组件分配到每个管线,相同的指令同时执行。例如,NVDIA8800GT包含每组8个,共14组的多处理器组,但每个处理器只有一个指令单元。从线程的角度看,每个多处理器组可以同时并行运行768个活跃线程,即GPU包含14组多处理器组可以同时并行10752个活动线程。在存储器方面,每个多处理器拥有16KB的可读写共享内存、8KB的只读常量缓存、8KB的只读纹理缓存和8192个32位寄存器。
  1.2 GPU编程模型
  CUDA(统一设备计算架构)是一个GPU编程平台,见图2。它包括一个硬件驱动程序和应用程序接口(API)以及两个数学函数库,因此程序员不需要调用复杂的图形API接口。 CUDA中的API还兼容标准C语言库,这样程序员就可以通过调用函数访问内存并执行指令。
  为了简化开发,CUDA允许程序员将CPU代码和GPU的代码混合到程序文件。NVCC作为C语言编译器,负责隔离设备代码和宿主代码。在CUDA汇编时,GPU作为计算设备可以执行大量的并行线程,类似于CPU的协同处理器。换句话说,用不同的数据被执行多次的应用程序可以被划分成在不同设备上执行的多个函数,这被称为内核。
  2 基于GPU的图像平滑实现
  2.1 图像平滑的原理
  图像平滑的方法主要分为两类:空域法和频域法。在空域法中,常用的方法是均值滤波和中值滤波。
  均值滤波是一种线性空间滤波。它使用大小这奇数的掩模在图像上滑动,并用掩膜中所像素的灰度均值替换掩膜中心相应的像素灰度值。如果在均值处理时对掩膜中每个像素的权重进行调整,即确定每个像素的系数,它则被称作加权平均滤波。这与频域中的卷积的概念类似,因此线性空间滤波通常被称为掩膜图像卷积。中值滤波是一种非线性空间滤波,与均值滤波的差别在于:掩膜中心对应的像素点的灰度值均被替换为掩膜中所有像素灰度的中值。本文使用了均值滤波和中值滤波两种空域法实现图像的平滑。
  2.2 计算分配
  GPU的数据处理能力要比CPU高得多,虽然它也可以直接负责显示。在与显示相关的算法设计中,应该在直接绘图前尽可能将计算分配给GPU并行处理,而仅让CPU完成数据到内存的加载。在一般与显示无关的算法设计中,GPU并行计算数据,得到结果,然后将数据传输到RAM。
  2.3 实现过程
  用GPU实现图像的平滑的主要步骤如下:
  第1步:读取图像数据。根据图像大小在GPU上分配设备存A,并将数据传送到设备内存A。
  第2步:设置GPU的执行参数,即网格和块的大小。
  第3步:将图像数据与GPU的纹理内存绑定,建立与GPU内存之间的映射。
  第4步:在OpenGL中打开GPU操作所需的高速缓存,完成GPU和OpenGL之间连接。
  第5步:调用内核函数来执行图像平滑。
  第6步:OpenGL显示处理结果。
  内核定义需要使用规范“_global_”, 用扩展语法“<<< >>>” 指定每个并行执行的线程数。内核在程序中声明如下:
  ImageSmooth<<< imageH,64>>>(imageIn,imageW,imageW,imageH)(1)
  其中, <<< >>>中的参数说明:分配imageH个块和每块包含64个活动线程。imageIn 是要处理的图像数据的起始地址指针,imageW是图像宽度,imageH是图像高度。
  数据块的大小被声明为图像高度imageH,每个块负责一行中像素的平滑处理。每个线程块包含64个线程,每个线程负责imageW/64像素的卷积。这样就有64€譱mageH个独立的线程在执行(1)。
  3 结论
  本文实现了基于GPU的图像平滑算法,并分析了其实验结果。结果表明,与CPU相比,在可以分独立单位的典型算法中,比如均值和中值滤波都依赖其固有的并行计算硬件结构特点,GPU可以提高到非常高的性能。当图象数据量增加时,这种提高就更加明显。在实验平台上,GPU的计算会提高到10倍,这表明了GPU在高密度数据计算中的强大的计算能力,这可以为快速图像预处理提供硬件支持。
其他文献
引言rn源自车辆燃烧的磁性矿物质主要是磁铁矿和金属铁颗粒,大小为0.1~0.7 μm[1].这种大小的颗粒对人类特别有害,因为它能被吸入肺里.而且,在悬浮尘粒中,磁铁与其它重金属(如
为了分析纵轴式掘进机截割头截齿的运动学特征,建立了总体坐标系和局部坐标系,在此坐标系下建立了截割头纵向钻进、垂直摆动、横向摆动3种工况的截齿运动学数学模型,并进行了
摘 要 我国计算机软件行业的发展还相对落后,与欧美等一些发达国家的水平还相距甚远,计算机软件行业的滞后已经严重阻碍了我国IT行业的发展和进步。我国自主研发出来的比较成熟的软件数量很少,且开发软件工程在实际操作过程中存在大量缺陷,我国正在加大研发软件的力度。根据调查显示,需求分析是加强软件质量的基石也是关于软件开发项目能否成功的关键要素,因此,科学合理的分析计算机软件项目管理中的需求迫在眉睫。本文简
本系统是小区设计开发的在线小区物业收费系统,来研究基于模式的B/S网上物业收费管理的实现,采用的是ASP.NET+SQL2005模式的电子平台。物业作为一种不动产资源,其管理问题一直都
作为有着二十二年专业内科医生经历的作家毕淑敏,“疾病”成为她情有独钟且取之不尽的写作资源。在她发表的四百余万字的作品中,涉及医学题材的作品占了相当的分量,如《血玲珑》
中国女性主义电影在新世纪的十年间,从电影创作的女性编导团队、电影的数量和品质以及电影所传达出的女性主义理念等多方面都有了长足的进步与发展。本文从家庭叙事的视角入手
计算机技术现如今已日益普及,电子政务亦是蓬勃发展。这就造就了网络化考试已成为大势所趋之下一广受好评的“黑马”。本系统将针对在线考试系统的模块设计,利用ASP.NET实现“
肉类食品包括猪、牛、羊肉及其加工制品。市场上供应的肉分新鲜肉和冻肉两种,无论是鲜肉还是冻肉,用来放入冰箱贮藏的肉一定要质量好:鲜肉要新鲜,肉质富有弹性;冻肉则应坚硬
引言rn人类活动所产生的固体垃圾已经成为引起大范围污染并对人类健康造成许多威胁的主要问题之一[1].加尔各答市每天约产生3500Mg市政固体垃圾(MSW)[2].MSW堆肥正被越来越多
“机缘巧核”雕刻艺术形态馆馆主暴颜滕先生,原名暴振东。辽宁朝阳人,2001年毕业于沈阳师范大学艺术系水彩专业。青年雕刻艺术家,橄榄核大型场景式组雕创始人,知名核雕艺人。