误差扩散原理
来源:互联网 发布:foxmail mac 编辑:程序博客网 时间:2024/05/04 18:14
误差扩散法在数据处理中经常碰到, 尤其是用于图象处理中, 降低色彩的深度. 下面三张图, 图1 是 256 级灰度过度, 图 2 是简单的将图一按就近原则, 转换成了 16 级灰度. (直接把 8bit 灰度的后 4bit 砍掉) 图3 是将图 1 用误差扩散的方法转换成 16 级灰度.
在原256 级灰度图象上有一个点, 灰度值是 120 (0~255), 如果我们要将这张图转换成 16 级灰度, 最简单的方法是将每个像素点除以 16. 那么转换后的值就是 120/16=7.5 保留整数位后就是 7 . 这样转换后的值就有了 0.5 的误差. 最简单的误差扩散方法是将这 0.5 的误差放到这个点右边/下边的点上, 我们可以按 3:2:3 的比例把它分配到右边, 右下, 下边的点上. 即, 我们把右边和下边的点加上 (0.5*16)*3/8=3, 把右下的点加上 (0.5*16)*2/8=2. 这样处理完整个图形, 要比直接截尾的效果要好的多. 实际上, 3:2:3 的误差分配方案并不算好. 你还可以试试 7:3:5:1 的分法:
我觉得这个方法很容易理解, 就不多写了, 可以将其很容易的扩展到彩色图象的处理. (只需要将颜色分成 R G B 三色素) 另外, 不光是图象处理, 这个算法在别的一些数据处理中也常用到.
来自 http://www.codingnow.com/2000/frame.htm?http://www.codingnow.com/2000/gamedev/tips/errordif
http://www.codingnow.com/2000/gamedev.htm?special
参考 http://blog.csdn.net/grimraider/article/details/7449278
- 误差扩散原理
- 误差扩散算法
- 图形图像处理-之-误差扩散 上篇
- 图形图像处理-之-误差扩散 中篇
- 图形图像处理-之-误差扩散 上篇
- 图形图像处理-之-误差扩散 下篇
- 图形图像处理-之-误差扩散 上篇
- 图形图像处理-之-误差扩散 中篇
- 各向异性扩散滤波_原理与算法
- 图形图像处理-之-误差扩散 下篇 - 更快的速度或更好的效果
- 图像处理--GIF和静态图叠加(四):误差扩散(error diffusion)
- 【图像处理算法】图像处理之误差扩散(抖动)算法
- 多核程序设计的相关基础知识----以误差扩散算法为例
- 误差!
- 误差
- 各向异性扩散PM模型原理与C++实现
- Atitit.病毒木马程序的感染 传播扩散 原理
- 差分GPS技术消除公共误差原理
- Mutex::AutoLock介绍
- 简单的Unicode字符串例子 uniFile.py
- Libev事件库源码阅读笔记
- 铜川试点 ,前台ajax内部异常问题,所延伸出来的补习HTTP状态码,做个对于自己的记录
- O(1)时间求一个栈的最小值
- 误差扩散原理
- 使用stringstream 来进行string和其他类型的转换
- PHP Notice: Undefined index: ... 问题的解决方法:
- 系统状态栏显隐的控制
- eclipse鼠标变成十字架
- ios self.和下划线的区别
- activity间按钮和滑动切换,bundle传数据
- 合适的Doctype可以解决CSS失效的问题
- 简单无锁队列的实现和使用