线积分卷积算法(Line Integral Convolution,LIC法)是一种经典的矢量场可视化方法,由Cabral和Leedom 在1993年的SIGGRAPH大会上提出,该算法可以有效地表征二维矢量场,既能清楚直观地反映出每点的速度方向,又能表达矢量场的细节。该算法的提出对于矢量场可视化具有广泛而深远的意义,已被成功应用到很多领域。其发展至今,已经涉及到噪声选取、信号滤波、卷积运算、纹理映射及计算机动画等多种技术,具有广阔的发展前景。

用卷积来表示矢量场的方向源于一种运动模糊的思想。LIC算法原理可概述为利用一维低通卷积核双向对称地沿流线方向卷积白噪声纹理,最终合成矢量纹理。下图为LIC算法计算示意图。

       对于输出纹理图像的某像素点 P ,以 P 为中心沿正、反方向对称线积分得到流线 ρ   ( τ ) , 其中 − L ≤τ≤ LL 为正(反)向流线长度。正反向流线相等可保持对称相关性; 当 τ 取 0 时即对应像素点 PP   的像素值 T (ρ (0)) 为流线各点噪声纹理值的卷积:

离散形式为:

其中,T为输入白噪声纹理,T(ρ(τ))为流线上各点噪声纹理值。k(τ)为卷积核(可为盒型卷积核、三角卷积核等),表示流线各点与P的相关性。pi为流线上的N个离散点,WipiP的贡献,即卷积核k(τ)在点pi-1pi之间覆盖的面积。原始的LIC算法计算效率较差,Stalling和Hege在1995年的SIGGRAPH会议上提出了FastLIC算法,从计算速度和图像分辨率等方面对LIC算法进行了改进。该算法考虑盒型卷积核作用下,利用同一条流线上相邻像素之间的相关性,构造出差分表达式:

在一次积分过程中计算出多个像素值,从而去掉了很多重复计算,使计算的线积分数量大为减少,提高了LIC算法的计算速度,并通过四阶Runge-Kutta数值积分法改进了LIC算法的精度。下图为通过LIC算法生成的矢量纹理,第一行为模拟矢量场数据,第二行为数值预报风场数据。

                       
                       
   相关代码下载链接如下:http://download.csdn.net/detail/u013085897/8794551
参考文献:
[1]   唐泽圣. 三维数据场可视化. 清华大学出版社, 1999.
[2]   Cabral B, Leedom L.C.Imaging Vector Fields Using Line Integral Convolution. Proceedings of ACM SIGGRAPH’93,Anaheim, 1993 :263-270.
[3]   Stalling D, Hege H. Fast andResolution Independent Line Integral Convolution. Proceedings of ACM SIGGRAPH’95,Los Angeles, 1995: 249-256.

基于LIC算法的二维矢量场可视化相关推荐

  1. 【图像分割】基于布谷鸟算法实现二维Tsallis熵、kapur、oust多阈值图像分割附matlab代码

    1 内容介绍 本文介绍了一种基于布谷鸟算法的多级阈值(MT)算法.布谷鸟优化算法[CuckooSearch (CS)],也叫杜鹃搜索,是智能算法的其中一种,于2009年由剑桥大学Xin-SheYang ...

  2. 基于Astar算法的二维栅格地图路径规划和避障MATLAB仿真

    目录 1.算法仿真效果 2.MATLAB源码 3.算法概述 4.部分参考文献 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB源码 %********************

  3. 【A_star二维路径规划】基于matlab A_star算法无人机二维路径规划(起终点障碍物可设置)【含Matlab源码 1321期】

    ⛄一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[A_star二维路径规划]基于matlab A_s ...

  4. 《MATLAB智能算法30个案例》:第23章 基于蚁群算法的二维路径规划算法

    <MATLAB智能算法30个案例>:第23章 基于蚁群算法的二维路径规划算法 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案例分析& ...

  5. 【运筹优化】结合天际线启发式的蚁群算法求解二维矩形装箱问题 + Java代码实现

    文章目录 一.天际线启发式 二.蚁群算法结合天际线启发式 2.1 构建序列 2.1.1 思路一 2.1.2 思路二 2.1.3 思路N 三.Java代码实现 3.1 项目结构 3.2 Ant 3.3 ...

  6. RRT路径规划算法在二维仿真环境中的应用 -- Python代码实现

    在上一节中,介绍了 RRT 算法的原理,这一节将一步步实现 RRT 路径规划算法在二维环境中的路径规划,来进一步加深对 RRT 算法的理解. 二维环境的搭建 我们将搭建下图所示的二维环境,绿色点为起点 ...

  7. 基于MATLAB的条码二维码识别系统

    基于MATLAB的条码二维码识别系统 课题介绍 本设计研究的是基于数字图像处理的EAN-13条形码识别算法,通过工具平台MATLAB实现.其中图像处理部分是条码识别重要的前期工作,利用MATLAB强大 ...

  8. k近邻算法C++二维情况下的实现

    k近邻算法C++二维实现 这是一个k近邻算法的二维实现(即K=2的情况). #include <cstdio> #include <cstring> #include < ...

  9. matlab二维谐振子,基于有限差分法求解的二维谐振子的MATLAB程序如下。哪位大神能帮我做个注明啊,完全看不懂啊,,急...

    基于有限差分法求解的二维谐振子的MATLAB程序如下.哪位大神能帮我做个注明啊,完全看不懂啊,,急0 ____丿呆呆丶2017.04.15浏览20次分享举报 tic clc clear L=20; W ...

最新文章

  1. PHP date函数参数详解
  2. JDK环境下利用记事本对java文件进行运行编译
  3. Python小游戏(小蜜蜂)
  4. PMP之项目风险管理---实施定性风险分析
  5. Datatables 给行绑定选中事件
  6. js 免费语音合成 (百度AI)- 代码篇
  7. ++i和i++哪个效率更高
  8. .Net Core DI,如何在程序集中注册所有现有的可分配类型
  9. 股票自动交易软件API使用流程
  10. Win11设置定时关机命令没反应怎么办?
  11. VBScript教程-第二章. 运行脚本
  12. 快手科技2020年总收入人民币588亿元,同比增长50.2%
  13. 易基因项目文章 | 90天见刊,易基因m6A RNA甲基化(MeRIP)+转录组组学研究
  14. 汉诺塔//河内塔(Tower of Hanoi)
  15. 通信感知一体化技术思考
  16. 图像分类篇:pytorch实现ResNet
  17. 简单枚举(ZJM要抵御宇宙射线)
  18. 怎么让计算机休眠的时候不断网,Windows10系统如何让电脑睡眠状态也不断网?
  19. 国内外人工智能AI工具网站大全
  20. 电池SOC预估玄学:有时侯电池与电池的差距,比电池与狗之间的差距都大

热门文章

  1. phpcms attachment.class.php路径,解决PhpCms V9后台无法上传图片
  2. Android开发实例-高校录取分数线应用(一)
  3. Virtual Router —— 开源的虚拟无线路由器
  4. 数据仓库之维表-缓慢变化维
  5. 打开acrobat pdf阅读器提示“内容准备进度”解决方法
  6. 解决google浏览器无法登录及同步
  7. 【圣诞节 圣诞树】--音乐版简洁圣诞树哦
  8. React源码分析2 — 组件和对象的创建(createClass,createElement)
  9. 【tkinter制作文本编辑器(3)】编辑菜单选项栏事件和右键菜单功能实现(撤销、还原、复制、粘贴、剪切、查找及全选)
  10. 大成精密冲刺深交所:年营收3.86亿 张孝平夫妇控制76%股权