高质量的矢量场可视化可以提高研究人员对于复杂矢量场数据的理解和认知,便于研究人员开展深入的科学研究。通过前一篇文章对LIC算法的概述可知,LIC算法本质是一种低通滤波,该
算法所生成的矢量纹理通常偏暗,矢量线间对比度不够,图像质量较差。最近周迪斌等提出一种基于矢量线强化的高质量矢量纹理生成算法
,该算法依据矢量场内在的有向性特点,采用一种矢量线强化策略来改善图像质量,即通过对矢量纹理在垂直矢量方向上进行一维高通滤波处理,以增加垂直方向高频信号的强度。利用连续纹理卷积和连续一维高通滤波的增强型显示方式,该算法极大地增强了矢量线间强度对比,可以清晰显示矢量线方向,有助于了解矢量场特征分布和主要拓扑结构。
1 算法基本流程
下图
为
LIC
矢量纹理增强算法流程图,
i
为矢量纹理增强次数。首先根据输入纹理与矢量场沿正、反方向对称线积分计算流线并采样,保存采样点位置;然后是纹理卷积生成矢量纹理,并进行噪声注入与混合操作,以防止出现输出图像由于多次卷积而导致对比度降低问题;随后采用一维高通滤波的矢量线强化策略来增强矢量线间对比度,同时将增强后的矢量纹理作为输入纹理继续参与卷积运算;最后是显示输出。
在该算法中,首次卷积时的输入纹理为随机白噪声纹理,并保存采样点的位置。随后卷积运算的输入纹理为上次经矢量线强化的矢量纹理,并直接调用已保存的采样点位置进行纹理卷积,省去了复杂的沿正、反方向对称线积分计算流线的过程。以上算法中矢量场主要是针对二维稳定矢量场,对于不稳定矢量场,随时间步的变化需读取不同的矢量数据,因此每次矢量线强化都需重新计算线积分及采样点位置。
算法实现时可以将每次增强的矢量纹理绘制出来,这样通过连续纹理卷积的形式还可以获得矢量动画,根据动画可获得矢量场的运动方向,同时也可以采用注入染料的方法,通过观察染料的扩散方向来判断矢量场的运动方向。
2 一维高通滤波
增强纹理
传统的增强方式为二维高通滤波的后处理方式,但这种滤波方式缺乏方向性,会影响矢量方向的强度对比。考虑矢量场内在的有向性,可将一维高通滤波应用于LIC算法来改善矢量纹理对比度,如下图所示:
在矢量线垂直方向上进行一维高通滤波,其中,v为滤波点p
s的速度,p
s1和p
s2为两个垂直矢量方向的滤波采样点。矢量线强化的一维高通滤波核为[−1, 3, −1],即当前滤波点p
s的权值为3,采样点p
s1和p
s2的权值均为−1。采样点到中心点的距离与其速度大小线性相关,如下面公式所示:
其中,
len
为采样距离,
α
为采样距离调节参数,范围为
0.0
至
1.0
之间,
|
v
|
为速度大小。从公式
可以看出速度越大,则采样距离也相应增加。
3 噪声注入与混合
为防止多次纹理卷积后输出图像无显著变化或无变化,同时避免输出图像由于多次卷积而导致的对比度降低问题,需对矢量纹理进行噪声注入与混合操作。在算法实现时,可预先创建一个与矢量纹理同分辨率的二维数组来保存白噪声,作为需要注入的噪声源,其后在矢量场循环绘制中,按一定比例如
3
%或
5
%,随机进行噪声强度取反,最后选取合适的比例与矢量纹理混合。混合公式为:
上式中
I’
为混合后矢量纹理值,
I
为原矢量纹理值,
N
为噪声纹理值,
α
为比例混合参数。
α
取值对输出图像有一定影响,
α
取值较小时,输出纹理变化不明显,
α
取值较大时,输出纹理中将会有非常明显的噪声颗粒,这将严重影响矢量线的连续性,一般情况下,
α
合理的取值范围为
5
%
~10
%。
下面是几组矢量数据可视化结果图,由图可知,通过对LIC矢量纹理采用连续纹理卷积及连续一维高通滤波的增强显示策略,可有效增强矢量线间强度对比,矢量线平滑且粒度均匀,矢量特征容易辨别,矢量纹理图像非常清晰,没有突变、走样等不良效果,具有很高的空间一致性。
参考文献:
[1] 唐泽圣. 三维数据场可视化. 清华大学出版社
,1999.
[2] 周迪斌
,王康健
,解利军
,郑耀. 基于矢量线强化的增强型二维流场实时绘制. 中国图象图形学报,2008
,13(9) : 1805-1812.