三维图形纹理函数在二维图像处理中应用.docVIP

三维图形纹理函数在二维图像处理中应用.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三维图形纹理函数在二维图像处理中应用

三维图形纹理函数在二维图像处理中的应用   【摘 要】针对邻域均值滤波算法在处理二维图像时占用了大量时间费用,设计了一种基于Direct3D技术的均值滤波方法。该方法在运用Direct3D函数对二维图像渲染的过程中,用着色器替换固定功能管线中的变换和光照阶段,并通过GPU对顶点格式中的纹理坐标进行操作,最终降低了均值滤波算法的时间复杂度。   【关键词】Direct3D;着色器;纹理;均值滤波   0 引言   在采集视频图像的传输过程中,受诸多因素的影响,可能导致图像的退化。均值滤波是一种常用的线性平滑滤波器[1],因易于设计和在多处场合的优越性能而成为信号处理的重要手段,它直接在图像空间域上对图像局部窗口取均值代替窗口中心像素的值,可以在一定程度上对高斯噪声加以抑制。但由于其运算的时间复杂度高,因此不能满足帧速较高的实时视频图像的处理[2]。   然而图形硬件技术的飞速发展给予了我们这种契机。从90年代中期开始,Direct3D7.0 引入了基于硬件加速的“转换和光照(transform and light, TL)”,并首先得到了NVIDIA公司的 GeForce 256(代号 NV10)芯片的支持,从而使得三维硬件加速从单一的光栅化发展成为具有多个阶段的渲染流水线[3]。运用Direct3D技术在加速处理图像和计算机视觉中的应用研究成果最为突出。Fung 等人利用 GPU的高速计算能力,实现了基于相机的人脸跟踪系统[4],Abate 等人实现了在GPU上基于Direct3D的三维人脸识别[5]; Ujaldón 等人利用 GPU 中的光栅器实现了 Hough 变换,用于在二维图像中检测圆[6]。现有的成果也以事实证明,将均值滤波移植到Direct3D中来,可以实现对其时间复杂度的降低。   1 邻域平均法的均值滤波   邻域均值滤波法是一种空间域图像增强法,是典型的线性滤波算法,它是指在图像上对目标像素给定一个模版,该模版包含了其周围邻域的像素(已目标像素为中心的周围8个像素,构成一个滤波器),再用模版中的全体像素的平均值来代替原来的像素值。   设定F(x,y)为N*N的输入图像,若平滑增强后的图像为G(x,y),则有   其中x,y=0,1,...,N-1;S为(x,y)邻域内像素坐标的集合;M表示集合S内像素的总数。根据M值的选取分为了如下几个常用的滤波模版:   采用1/8的模版用VC++对邻域均值算法加以实现,得到噪声图像的处理前后效果如图1所示。   均值计算占用了均值滤波处理的大量时间费用[7],接下来我们将介绍如何运用Direct3D进行图像的均值滤波并大幅度降低该算法的时间复杂度。   2 基于Direct3D渲染目标   2.1 Direct3D和GDI访问硬件的不同方式   目前在Windows上采用GDI(图形设备接口)的处理方法主要分为空域方法和频域方法,空域方法直接作用于图像中的像素点,该方法延伸的算法便于理解,但是每次处理都要遍历每一个像素点,占用大量内的内存和耗费很长的时间,因此不适用于对视频进行操作和处理。频域方法则将初始图像通过傅里叶变换至频率域,对频率域进行处理,经过傅里叶反变换后获取图像结果。因其基本采用的都是高精度的算法而经常运用在目标检测、目标跟踪等实际应用上。但是大量的数学运算需要占用一定的内存空间,因此一些高复杂度的算法会占用处理每帧图象的时间而无法达到帧同步既而无法完成要求较高的基于视频的目标检测。Direct3D技术的诞生则解决了一些帧同步的问题。由于其Texture直接对底层硬件进行操作,因此可以用很少的代码,就可以使用Direct3D的新接口完成二维图形处理而仅仅占用少量的时间。另外,还可以得到各种各样非常卓越的效果,例如缩放、旋转、透明以及光照等,而且Direct3D技术对硬件支持广泛,其显示效果完全能够达到视频逐帧图像处理的要求。   2.2 渲染流程   渲染3D对象的任务可分为两个阶段,第一阶段成为转换和照明。在这个过程中,未经转换和照明的顶点从一段进入,经过网格化和固定功能的管道从另一端出来。其中,固定管道包括世界变换、观察变换、背景剔除、灯光材质、裁剪、投影变换、视口变换几个步骤。第二阶段称为光栅化处理,图元用于将这些经过经过转换并添加了照明效果的顶点组织为点、线和三角形。光栅处理程序使绘制结果形成DireceDraw表面,该表面成为渲染目标,同时应用纹理映射图并添加多种属性,如两个相连顶点间的颜色。   3 基于Direct3D的均值滤波方法   邻域平均法的均值滤波是图像预处理中图像平滑和消噪常用的方法。由于均值滤波算法的时间复杂度较高而不被应用于视频帧处理中。本节主要讲述如何运用Direct3D中的顶点着色器

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档