一种基于图形处理器的实时三维图像平滑处理方法,依次包括下述步骤:(1)将待处理的三维图像数据传送给图形处理器;(2)求出当前待处理的像素点周围各相关点的坐标;(3)对相关点进行采样,获得相关点的数据值;(4)计算有关数据点的数据值的平均值;(5)分别计算各有关数据点的数据值与平均值的差的平方,计算出来的数值保存在数组中;(6)对数组中的数值进行比较,求出最小值;(7)将最小值所对应的有关数据点的数据值代替当前待处理的像素点的原数据值;上述步骤(2)~(7)在图形处理器中进行。本发明专利技术能够去除三维图像的斑点噪声,美化图像,并能够较好地保留原有图像的边界信息,而且不影响到三维图像重建的实时性。
【技术实现步骤摘要】
本专利技术涉及图像数据处理,具体地说,涉及一种基于图形处理器 的实时三维图像平滑处理方法。
技术介绍
对图像进行平滑处理的目的在于去除图像中的斑点噪声,美化图像。现有的图像平滑处理方法都是基于中央处理器(CPU)进行的,对于二维图像来说,由于图像的数据量不是很大,因而能够很好地实 现实时的平滑处理。但是,当图像数据量很大时,例如对于三维图像数据(即体积图像数据),平滑处理的实时性很难达到要求。基于图形处理器(GPU) 的实时三维图像重建方法所形成的图像,难免会存在一些斑点噪声, 要想降低或者去除这些斑点噪声,则整个三维图像数据中可能有几百 万甚至上千万个像素点需要进行处理,运算量相当大,利用CPU处理 将花费很长的时间,这对CPU来说是一个很沉重的负担,并将严重影 响三维图像重建的实时性。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于图形处理器的实时三 维图像平滑处理方法,利用这种方法不仅能够对三维图像进行平滑处 理,去除斑点噪声,并能较好地保留原有图像的边界信息,而且进行 平滑处理时不影响到三维图像重建的实时性。采用的技术方案如下-一种,其特征在于 依次包括下述步骤(1)将待处理的三维图像数据传送给图形处理器(GPU);本平滑处理方法处理的三维图像数据是三维图像重建后采样获得的三维图像纹理数据,优选该三维图像纹理数据由中央处理器(CPU)通过OpenGL接口 (OpenGL接口是一种三维图形接口 ),传送到图 形处理器(GPU)中的渲染管道,到达可编程片段处理器;(2) 求出当前待处理的像素点周围各相关点的坐标; 根据当前待处理的像素点(简称当前点)的坐标和各相关点相对于当前待处理的像,点的坐标偏移量,通过数学计算,即可求出各相 关点的坐标。对于三维图像纹理数据而言,相关点可以选取与当前待处理的像 素点相邻的26个点,这26个点是以当前点为中心的长方体(长方 体的边分别与三个轴方向平行,其边长为相平行的轴方向上相邻两点 之间的距离的两倍)的8个顶点、6个面的中心点和12个边的中点; 根据当前点的坐标和三维图像纹理数据三个轴方向上相邻两点之间 的距离(各相关点在某一轴方向相对于当前待处理的像素点的坐标偏 移量等于该轴方向上相邻两点之间的距离),通过简单的数学计算, 即可求出与当前点相邻的26个点的坐标。例如,假设三维图像纹理 数据大小为512*256*128,则它在三个轴方向上相邻两点之间的距离 分别为1/512、 1/256和1/128,根据当前点的坐标和三维图像纹理 数据三个轴方向上相邻两点之间的距离(分别为1/512、 1/256和 1/128),通过简单的数学计算(在当前点的坐标的基础上,对三个轴 方向上坐标中的一个、两个或三个进行加或减计算,即加上或减去相 应轴方向上相邻两点之间的距离,即可得到对应的相关点的坐标), 很容易求出与当前点相邻的26个点的坐标。(3) 根据相关点的坐标对相关点进行采样,获得相关点的数据值;在求出相关点的坐标后,根据相关点的坐标在三维图像纹理数据 中进行采样,得出相关点的数据值(通常为灰度值)。(4) 计算有关数据点的数据值的平均值,即当前待处理的像素 点及其周围所有相关点的数据值的平均值;在选取相邻的26个点作为相关点的情况下,该平均值是27个有 关数据点(包括待处理的像素点本身和26个相关点)的数据值的平 均值。(5) 分别计算各有关数据点(即当前待处理的像素点及其周围 各相关点)的数据值与步骤(4)得到的平均值的差的平方(即方差),计算出来的数值保存在数组中;在选取相邻的26个点作为相关点的情况下,数组中包含27个数 值,这27个数值分别是27个有关数据点的数据值与步骤(4)得到 的平均值的差的平方(即方差),包括当前待处理的像素点的数据值 与步骤(4)得到的平均值的差的平方,以及26个相关点各自的数据 值与步骤(4)得到的平均值的差的平方。(6) 对步骤(5)得到的数组中的数值进行比较,求出其中的最 小值(即最小方差);(7) 将步骤(6)求出的最小值所对应的有关数据点的数据值代 替当前待处理的像素点的原数据值;步骤(6)求出的最小值所对应的有关数据点可能是当前待处理 的像素点,也可能是当前待处理的像素点周围的某一个相关点。在选 取相邻的26个点作为相关点的情况下,步骤(6)求出的最小值所对 应的有关数据点可能是当前待处理的像素点,也可能是这26个相关 点中的某一个点。上述步骤(2) (7)在图形处理器(GPU)中进行。更具体地 说,上述步骤(2) (7)在图形处理器(GPU)的可编程片段处理 器中进行。上述步骤(1) (7)相当一个运算核,而整个三维图像数据中 的每一个像素点都需经过这个运算核的计算,对中央处理器(CPU) 来说类似于一个几百万甚至上千万次的循环,运算所需的时间很长, 而对于图形处理器(GPU)来说,由于图形处理器的高速并行机制, 使得这些运算所需的时间非常少,从而达到对三维图像数据进行实时 平滑处理的目的。经过上述步骤后,数据点保存在帧缓存中,经过前后缓存的交换 显示在屏幕上。本专利技术采用的方法步骤能够对三维图像进行平滑处理,去除斑点 噪声,美化图像;由于采用最小方差替代法,因而能够较好地保留原 有图像的边界信息;而且由于图形处理器的高速并行机制(图形处理 器中的多个可编程处理器能够并行地对三维图像数据的数据点进行平滑处理),因而进行平滑处理时花费的时间在可接受的范围内,不 影响到三维图像重建的实时性。附图说明图1是本专利技术优选实施例的平滑处理方法的流程图; 图2是本专利技术优选实施例的平滑处理方法步骤(2)中当前待处 理的像素点及其周围各相关点的位置关系(坐标关系)图。具体实施例方式如图1所示,这种基于图形处理器的实时三维图像平滑处理方 法,依次包括下述步骤(1) 将待处理的三维图像数据传送给图形处理器(GPU); 本平滑处理方法处理的三维图像数据是三维图像重建后采样获得的三维图像纹理数据,该三维图像纹理数据由中央处理器(CPU) 通过OpenGL接口,传送到图形处理器(GPU)中的渲染管道,到达 可编程片段处理器;(2) 求出当前待处理的像素点周围各相关点2的坐标; 如图2所示,三维图像纹理数据中,当前待处理的像素点l (简称当前点1,图2中的空心点)的相关点是与当前点1相邻的26个 点2(图2中的实心点),这26个点是以当前点l为中心的长方体 (长方体的边分别与三个轴方向平行,其边长为相平行的轴方向上相 邻两点之间的距离的两倍)的8个顶点、6个面的中心点和12个边 的中点;本实施例中,三维图像纹理数据大小为512*256*128,则它 在三个轴方向上相邻两点之间的距离分别为1/512、 1/256和1/128, 根据当前点1的坐标和三维图像纹理数据三个轴方向上相邻两点之 间的距离(分别为1/512、 1/256和1/128,各相关点2在某一轴方 向相对于当前待处理的像素点1的坐标偏移量等于该轴方向上相邻 两点之间的距离),通过简单的数学计算(在当前点的坐标的基础上, 对三个轴方向上坐标中的一个、两个或三个进行加或减计算,即加上 或减去相应轴方向上相邻两点之间的距离,即可得到对应的相关点的 坐标),很容易求出与当前点1相邻本文档来自技高网...
【技术保护点】
一种基于图形处理器的实时三维图像平滑处理方法,其特征在于依次包括下述步骤: (1)将待处理的三维图像数据传送给图形处理器; (2)求出当前待处理的像素点周围各相关点的坐标; (3)根据相关点的坐标对相关点进行采样,获得相关点的数据值; (4)计算有关数据点的数据值的平均值,即当前待处理的像素点及其周围所有相关点的数据值的平均值; (5)分别计算各有关数据点的数据值与步骤(4)得到的平均值的差的平方,计算出来的数值保存在数组中; (6)对步骤(5)得到的数组中的数值进行比较,求出其中的最小值; (7)将步骤(6)求出的最小值所对应的有关数据点的数据值代替当前待处理的像素点的原数据值; 上述步骤(2)~(7)在图形处理器中进行。
【技术特征摘要】
【专利技术属性】
技术研发人员:郭境峰,王海潮,蔡泽杭,
申请(专利权)人:汕头市超声仪器研究所有限公司,
类型:发明
国别省市:44[中国|广东]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。