from: http://www.cppblog.com/foxriver/archive/2011/01/11/138316.html

加入比较的4种方法有:

1. 快速高斯模糊。
2. 二次Summed Area Table Blur(适合gpu, 常用于DOF,http://www.gamasutra.com/view/feature/3102/four_tricks_for_fast_blurring_in_.php)
3. Alpha Blur(motionblur变种,优化过后的算法,严重依赖相邻像素之间累积关系,不适合gpu, http://freespace.virgin.net/hugo.elias/graphics/x_motion.htm)
4. SuperFastBoxBlur(http://incubator.quasimondo.com/processing/superfast_blur.php)

其中,这四种方法内,除了高斯模糊是O(n)之外,其他都是O(1)效率。也就是说,运算速度和模糊半径没有关系,只和图片大小有关。

图上时间仅供参考,除了AlphaBlur代码优化过,其它方法仅仅是基本实现原理。SuperFastBoxBlur和SummedAreaTable实际使用中,要比图上更快些。

以下方法没有列入比较范围

1. 直接基于O(n*n)的高斯模糊核,速度太慢。图上方法采用纵向和横向高斯核分解。
2. Stack Blur, 比高斯快的方法,并且效果和效率兼备。( http://www.codeproject.com/KB/graphics/blurringwithcuda.aspx)
3. FFT gaussian blur
4. High-Dimensional Gaussian Filtering (bilateral)
5. constant time filters - heat diffusion.(Kass, 2006)
6. constant time filters - SVD, singular value decomposition (Gotsman 1994)
7. SAT衍生出来的一些方法,Fast Filter Spreading,Linear Filters and their Transposes。

---------------------------------------------------
关于2次Summed Area Table实现。

一次SAT采样4个点,二次SAT则需要9个点,三次需要16个点,以此类推。并且乘上对应的Weight Function,除以(面积^n, n = 几次). 详细公式见:Filtering By Repeated Integration

图形算法 - 模糊函数比较,Blur Function Compare相关推荐

  1. 必看干货:如何在 JavaScript 中实现 8 种基本图形算法

    在本文中,我将实现8 种图算法,探索 JavaScript 中图的搜索和组合问题(图遍历.最短路径和匹配). 这些问题是从<Java编程面试要素>一书中借来的.本书中的解决方案是用 Jav ...

  2. 计算机图形学(1)基本图形算法

    计算机图形学--基本图形算法 光栅图形中点的表示 屏幕坐标系在左上角 地址=(Xmax-Xmin)[每行像素点数]*(Y-Ymin)[行数]+(X-Xmin)[行中位置]+基地址 直线扫描转换算法 假 ...

  3. 图形算法:圆形生成算法

    图形算法:圆形生成算法 标签(空格分隔): 算法 版本:2 作者:陈小默 声明:禁止商用,禁止转载 发布于:作业部落.CSDN博客 圆的定义为所有距离中心位置 (xc,yc) 为定值 r 的点的集合1 ...

  4. em算法直观_直观地解释了10种图形算法

    em算法直观 重点 (Top highlight) Graphs have become a powerful means of modelling and capturing data in rea ...

  5. neo4j图形算法综合指南_网页设计中色彩使用的综合指南

    neo4j图形算法综合指南 There is a lot of material about color to be found online. But none of us has the time ...

  6. AI图形算法之一:液位计识别

    AI人工智能的主要应用之一就是图形化处理和识别,之前写了两篇,分别是: AI图形算法的应用之一:通过图片模板对比发现油田漏油 AI图形算法的应用之一:仪表识别 经过几个晚上的辛苦,液位计识别也测试成功 ...

  7. 图形算法与实战:1.滤波专题 (4)各向异性扩散滤波

    4. 各向异性扩散滤波 本文作者:图像与视觉InSight 行者 杨尚朋 转载请注明 目录 4. 各向异性扩散滤波 4.1 处理效果展示 图像处理前后对比 4.2 各向异性扩散滤波原理 4.2.1 概 ...

  8. 图形算法与实战:5.图像边缘羽化专题(1)滤波方法羽化

    图像羽化专题-滤波方法羽化 1. 图像处理前后结果展示 图像处理前 图像处理后 2. 图像羽化 图像羽化,是指图像边缘以渐变的方式,达到逐渐朦胧或者虚化的效果. 3. 代码展示 #include &l ...

  9. android 学习笔记之图形算法

    莫名奇妙地用了叉积分.求完面积之后,再进行平均(除以y): 奇怪的是     pt2.fX = poly[0].fY - poly[3].fY;     pt2.fY = poly[3].fX - p ...

最新文章

  1. php5中魔术方法函数有哪几个,php中的类魔术方法有哪些
  2. 安卓 发送短信两种方式
  3. arx对正在操作的文件进行保存
  4. 何时在C ++中使用extern
  5. Storm/JStorm之TopologyBuilder源码阅读
  6. 机器人II(sdutoj2585)-JAVA
  7. 归纳推理测试没做完_看她家新房,保洁做完还没家具就很漂亮,墙面刷灰色耐看又耐脏...
  8. 离散数学序关系与相容关系
  9. 《Java 核心技术卷1 第10版》学习笔记------ final 关键字详解
  10. linux编译mmc驱动,Embeded linux之MMC驱动
  11. 基于递归的前序二叉树遍历实现
  12. 西门子rwd60参数设置调试手册_RWD60 RWD68 RWD62控制器调试指导说明
  13. android listview 分页
  14. dimp是什么意思_单目标追踪论文阅读系列(八)——《DIMP(ICCV2019)》
  15. 支付宝,模拟支付,JavaWeb为例
  16. arch 关闭独显_manjaro上安装独显驱动(双显卡切换)的正确方法
  17. Android应用快捷方式
  18. LaTeX公式编辑器+mathtype6.9b
  19. (PC+WAP)织梦模板茶几茶盘类网站
  20. Python之pandas库(万年一更版)

热门文章

  1. Spring Controller Junit例子
  2. 什css3新增的属性,CSS
  3. python中loop函数运用_使用涉及函数的Python在for循环中填充DataFrame
  4. 华北理工大学轻工学院计算机在哪个校区,如何坐公交去路北区的华北理工大学轻工学院(北校区)-行政综合楼| Moovit...
  5. 大数据量表中,增加一个NOT NULL的新列
  6. Go 语言 bytes.buffer write 相关操作
  7. spark2.2读写操作hive和mysql数据库
  8. C#中调用python方法
  9. 看到他我一下子就悟了-- Lambda表达式
  10. 电话订票每日开始时间(几点放票) - 北京本地宝