您的当前位置:首页正文

一种改进的光线投射算法

来源:华佗健康网
学术论坛 一SCIENCE&TECHN0L0GY . 匪圆 种改进的光线投射算法 丁庆木 (中国矿业大学应用技术学院 江苏徐州 221 008) 摘要:光线段射算法是体绘制中常用的方法,但是其绘制速度较慢,图像质量也不是很理想。通过利用模糊阈值分割技术将整个三维 数据场分类为边界区域与非边界区域,然后采用模糊增强运算进一步降低模糊性。最后再进行采样点的计算及图像的合成。实验结果表 明,此方法既能提高绘制的速度,又能保证绘制质量。 关键词:体绘制 光线投射 模糊阈值分割 模糊增强 边界区 中图分类号:G64 2 文献标识码:A 模糊熵: 文章编号:I672--379I(2009)11(a)-O215--02 上述方法可以获得多个能使V(x)取极小值 的q,同样方法确定分割阂值区域就能实现 多闽值分割。若取以q0为中心有一定带宽 1光线投射算法概述 (Ray casting)算法 是一种典型的以图 像空间为序的直接体绘制算法,它从屏幕 E( )=——MN —=一Ki  n2 ( (,) 。。。。 (4)、 上的每一个像素点出发,沿设定的视点方 向,发出一条射线,这条射线穿过三维数据 场;沿这条射线选择若干个等距采样点,由 距离某一采样点最近的八个体素的颜色值 及不透明度值做三线性插值,求出该采样 点的不透明度值及颜色值。在求出该条射 线上所有采样点的颜色值和不透明度值以 后,可以采用由后到前或由前到后的两种 不同的方法将每一采样点的颜色及不透明 度进行组合,从而计算出屏幕上该像素点 处的颜色值I 。 2基于模糊增强的光线投射算法 一般而言,图像在由三维目标映射为■ 维图像的过程中,不可避免地会有信息的丢 失,所以图像天生具有模糊性。而人的视觉 对于图像从黑到白的灰度级别又是模糊而 难以准确区分的。这就导致了图像边缘、区 域、纹理等的定义以及对图像低层处理结果 的解释存在模糊性。本文将传统的模糊闽值 分割方法扩展到三维数据场中,通过提取边 界区域进行 独绘制来改善算法。 2.1模糊阈值分割技术 模糊闽值分割方法可以在三维数据场 中可以做进一步的推广 1。按照模糊子集的 概念,设图像x为M×N×K,有I 级灰度{0, 1,……I 一1},(x)是定义在L+1级反度卜的 隶属函数,若象素(m,n,k)灰度为X 则隶 属度为(x ),in=l,……M,n=1,……N, k=l,……K,图像X的模糊率v(x)、模糊熵E (X)是对图像模糊性的度量。 表示如下: 模糊率: ( ) min(/z(xmm ) ̄l-]d(Xmnk))(1) 模糊熵: ( )=— -MNKI_n 一∑∑∑ (2 鲁 …  ( 一))(2)其中申农函数为: (H( ))一 ( , )In ( “) (1.Ll( ))In(Il_LI( ^)) 当(x ):0.5时,V(X)、E(x)取最大值, 偏离该值时,v(x)、E(x)取值下降。 令h(1)为图像X中灰度取l的象素个数, 将(1)式和(2)式写为如卜形式: 模糊率: ( ) ( (,) (3) 其中7'(,)=min(u(1),1一/4/)) 的区域为分割阂值,使得分割截面为具有 下面以模糊率V(X)进行阂值选择,显 一定宽度的区域,这样可以将边界区域和 然采用模糊熵E(x)也能得到同样的结论。 非边界区域分别分割开来。 取隶属函数(x)为S函数: 2。3模糊增强的光线投射算法 引入了基于模糊增强的阂值分割技术 0 0 g一△g 的光线投射算法的处理过程是:首先对体 2『( ~g+ q)/2 q] g一△g X≤q ( ) 数据进行简单的预处理,在对简单预处理 l一2[( —q+ q)/2 q] g≤X q+aq 后的体数据赋颜色值及不透明度值后,要 1 q q+aq 根据模糊增强的模糊阂值分割技术进行三 由于模糊隶属的取值由窗口C=2A q 维数据场的分类,提取出边界区域与非边 及参数q所决定,一旦选定了窗宽C,V(X) 界区域。然后进行采样及采样点的计算,最 就只与参数q有关。模糊闽值法的求解过程 后是图像的合成。 是预先设定窗宽C,通过改变q,使隶属函数 通过增强的模糊阂值分割,可以将三 (x)在灰度区间【0,L一1】 滑动,再通过计算 维数据场的边界区域与非边界区域分别提 模糊率V (x),以获得模糊率曲线,该曲线的 取出来,然后对边界区域和非边界区域分 别进行绘制。 谷点,既是使V (x)取极小值的参数q,也就 是待分割图像的闽值。 2.3.1边界区域的定义 2.2模糊增强技术 为保证处理体元在深度方向上的有序 本文对转换到模糊性质域的图像引入 性,该方法对数据场的遍历是逐片进行的。 模糊增强算子进行预处理,然后对增强的 假定正在处理给定片上的体元,首先判断 其是否为边界区体元,如果是则记为B— 图像计算其模糊率,并由此选取最佳闽值。 增强算子的定义如下: voxel,直接计算该体元对屏幕的贡献;如果 不是则记为I-voxel,并进行体元合并形成 ’x )=, ( ( ))=‘(I ( ( ))),r=2,3,4 组合体元,记为M-voxel,并将组合体元M— 其中: v0xel作为新体元对待,以便减少操作对 ,  、f 2 ( ),0 《Xm ) 0.5 象,提高绘制速度。 卜 l 1—2(1一 ( )) , o 5 ( ) 1 2.3.2体元合并规则 引入模糊增强算子的目的在于通过对 体元合并只针对同一片上相邻的体元 图像不同区域采用不同的增强处理,即黑 进行,以保证只合并属于同一物质的体元, 目标区域进行衰减运算、白背景区域进行 其准则如下。 增强运算(增强运算是增大为0.5以上的P (1)只有属于同一・区域、同一截面的非 值,衰减是小于0.5以下的值);强化图像区 边界区域的体元才合并。 域之间的对比度。使经过增强后的图像不 (2)合并后的新体元M-voxel必须保证 仅保留了原有图像的信息, 且各区域之 是长方体的形状,以保证其几何形状简单, 间的层次更加清晰,从而进一步降低了图 并可以排序。 像的模糊性。 (3)体元的合并应从前到后进行,以保 最后,给出基于增强算子的模糊阂值 证所产生的M—voxel的有序性。即如果一 法的全过程:首先按隶属函数为s函数,将 个体元已经合并到M voxel中,则不应该还 图像由灰度数据域转换到模糊性质域,并 有遮挡它的体元未被处理。 通过改变参数q的取值,使映射函数(x ) 以下为处理片kO的描述: 在灰度区间[0,L一1】上滑动。然后通过计算 If voexl V(ib,jb,k0)is a edge region 模糊率V(X),获得模糊率曲线。 voxel then 对于V(x)时,起作用的是灰度值分布 Process-B-Voxel(jM,ib,jb,&ie,&je); 在区间[q—A q,q+△q】上的象素,当参数q Else{Merge—Voxel(jM,ib,jb,&ie,& 变化时,V(x)随之变化,记V (x)为参数取q je);Process-I-Voxel(ib,jb,&ie,&je) 时的图像模糊率。理论上讲,总能找到某个 在上述伪代码中,JM表示合并后体元 q0,使得V (x)极小,因而可取分割区域的 不能超过的最大号,ib,Jb,ie,je分别表示为 中心值为q0。当图像灰度为多峰分布时,用 体元的初始和终止的行号及列号。 科技资讯SCIENCE&TECHNOLOGY INFORMATION 2 1 5 CHN0L0eY INF0RMATf0N 学术论坛 成图像的精确度,分别生成了传统的光线 投射算法及本算法的结果。在Intel奔腾4 521 DDR上将上述算法应用于足部CT数据 (5l2×5l2×I1 3)进行测试。实验结果表明: (1)从时间上,由于本算法对非边界区的体 元进行合并,从而使得绘制的速度明显快 于光线投射算法,如表1所示;(2)从图像质 量上,本算法将边界区与非边界区分别进 行绘制,因而可以得到比较清晰的边界区。 绘制结果如图2所示。明显可以看出,在图1 中,处于边界区的部位能清晰地显示出来。 结合模糊闽值分割方法,提出了基于模糊 增强技术的光线投射算法。由于在模糊阈 值分割技术的基础上,引入了模糊增强运 算,从而可以进一步降低图像的模糊性,使 得图像更易于分割。对于分割后的图像,可 以清晰地提取出边界区和非边界区,由于 把非边界区进行合并,再进行绘制,因而, 在时间消耗上,明显优越于传统的光线投 射算法,并对边界区的体元逐一进行投射, 能够得到比较清晰的边界区域,可获得较 高的图像质量。 若体元v(ib,jb,ko)是边界体元,程序 Process—B—Voxel计算边界区域体元对屏幕 象素的贡献。否则,子程序Merge—Voxel则 搜索与它相邻并且可见性优先级比它低的 体元,并返回以V(ie,je,ko)为最远体元的体 元块M—Voxel。然后由Process—I—Voxel将 这个M—Voxel当作普通的Voxel对待,并将 其投影到屏幕上,扫描投影多边形进行光 亮度积分。 至于对于采样点的计算弓图像的合成 本文采用的是参考文献[41方法。 3验证与分析 为了比较算法执行的时间复杂度及生 4结语 表1 CT图像绘制时间对照表 参考文献 在研究传统光线投射算法的基础上, 【1]Levoy M.Display of Surfaces from Volume Data[J】.IEEE Graphics& Application,1988,8(3):29~37. [2】L Sobierajs!d,R Avfla.A hardware ac- celeration method for volumetric ray tracing[C】.Proc.Vosualization‘95,1995: 一一 图1 传统光线投射算法与本文算法的绘制结果 是UDP协议,所以在这部分使用的是win~ 件工具包 Fw来实现视频采集的。 dows Sockets(Windows套接字)的数据报套 视频数据的实时采集,主要通过AVICA 接字(sOCK DGRAM)编程。所谓套接字指 P模块中的消息、宏函数、结构以及回调函数 的是一种网络编程接口,提供了发送和接 来完成。视频捕获的一般过程如下。 受数据的机制,是网络编程的基础。而 (1)建立捕获窗口。 Windows Sockets就是微软为Windows操作 (2)登记回调函数。 系统提供的网络编程接口。 (3)获取捕获窗口的缺省设置。 些网络应用程序(如网络电话、多媒 (4)设置捕获窗口的相关参数。 体会议工具)对实时性要求非常强,要求能 (5)连接捕获窗口与视频捕获卡。 够直接应用WinSock发送和接收数据。为了 (6)获取采集设备的功能和状态。 充分利用MFC的优势,首选方案应当是 (7)设置捕获窗口显示模式。 MFC中的CAsyncSocket类或CSocket类,这 (8)捕获图像到缓存或文件并作相应处 两个类完全封装了WinSock API,并提供更 理。 多的便利。本系统中就是使用CSocket类来 (9)终止视频捕获 断开与视频采集设 实现发送和接收数据的。 备的连接。 CSocket类是由CAsyncSocket继承而来 3.2.2 RTP实时传输的控制 的,事实上,在MFC中CAsyncSocket逐个封装 RTP是目前解决流媒体实时传输问题 了WinSock API,每个CAsyncSocket对象代表 的最好办法。JRTPI IB是一个面向对象的 个WmdoWS Socket对象,使用CAsyncSocket RTP库,它完全遵循RFC 1 889设计,支持 类要求程序员对网络编程较为熟悉。相比起 Windows、Linux等多种平台。利用JRTPLIB 来,CSocket类是CAsyncSocket的派生类,继承 库可以轻易实现RTP/RTCP的传输和控制。 了它封装的WinSock API。 本系统的这部分就是基于这个开源库设计实 个CSocket对象代表了一个比CAsyn 现的。JRTPLIB共有三个类:RTPSession、 cSocket对象更高层次的Windows Socket的 R11 Packe呀口RTPSour。eDam。其中,RTPSession 抽象,CSocket类与CSocketFile类和CArch 主要是用于数据包的发送和接收;RTPPacket ive类一起工作来发送和接收数据,因此使 一一一27~34. [3】Lacroute P,Levoy M.Fast Volume Ren— dering Using a Shear-warp factorization of the View ̄458. transformation[J].Corn- puter Graphics,prCcEe ngs,1994,7:45l~ [4]周勇,唐泽圣.通过区域块投影方法直 接绘制三维数据场[J】.计算机辅助设计 与图形学学报,1996,8(3):l62~l6. (上接21 4页) 与维护)、媒体处理模块的设计(包括音视频 的采集播放、RTP的实时传输和控制)以及 网络接口模块的设计(主要是Windows Socket的设计)。 参考文献 f1】J.RO Senberg,H.SChulzri12ne, G Camarilloandsoon,“Semion initiation protocol”,RFC3261,Intemet Engineer— ing Task Force,6.2002. [2]司端锋.韩心慧.SIP标准中的核心技术 与研究进展[J】.软件学报,2005,16(2): 239~250. [3J卢美莲,程时端.“软交换技术”中兴通 信技术,2002(4). 主要是用于对接收到的RTP/RTCP包的具体 用它更加容易使用。 细节进行分析;RTPSourceData主要是提供参 加这个会话的各个源的信息。 4结语 3.3网络接口的设计 本文提出了一种基于SIP协议的视频 SIP消息可以基于UDP协议,也可以基 终端软件的实现方案。主要论述了SIP/ 于TCP协议的,在本系统的实现中采用的 SDP协议模块的设计(负责SIP会话的建立 2 1 6 科技资讯SCIENCE&TECHNOLOGY INFORMATION 

因篇幅问题不能全部显示,请点此查看更多更全内容