ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:71KB ,
资源ID:3519871      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3519871.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Dithering算法.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

Dithering算法.doc

1、 moto a1200 研发随笔(17)-关于图片显示质量的细节问题 来源: ChinaUnix 博客 作者: ChinaUnix 博客 发布时间:2007-01-02 07:09:00 北京理工大学 20981 班 陈罡好久没有更新我的博客了,今天偶然上来看看,竟然有这么多朋友在对我的文章感兴趣,真是让我非常兴奋。为了答谢各位对我的支持,我还是决定要把博客继续写下去。转眼之间,5mbox v1.55 已研发将近完成,呵呵,看上去已非常不错了。感兴趣的朋友能登陆(官方网站) 或 去看看,目前仅对 motorola a1200/a1200e/a1200r,e6 ,e680 系列可用。而且我还编写

2、了 DIY 的工具,能允许感兴趣的朋友自己制作 DIY 相册、画册、漫画等内容。(呵呵,在这里做个广告,希望斑竹不要删除啊!)5mbox v1.55 改进了非常多问题,其中一个非常重要的问题就是图片显示中的色差问题。具体点来说,就是颜色的损失。比如目前我有一张 png 的图片,他是 24 bpp 的(24 bpp 的意思是:图片中的每个像素都由 24 个 bit 来表示,这也就是我们常见的 RGB888 模式,用二进制来表示就是 0000 0000 rrrr rrrr gggg gggg bbbb bbbb)当然了,根据图片解码器的不同,他有可能是 BGR 模式的 24 bpp。这些都无关紧要

3、了,只要我们知道他们是 24 bit 的数据表示一个像素就能了。回过头来看 a1200,a1200 的屏幕分辨率应该是 18 bpp 的,也就是传说中的 RGB666,用二进制来表示就是:00rr rrrr gggg ggbb bbbb也可能是 BRG666(我记不清了,感兴趣的朋友能参考我前面的文章,这里只讲一下原理)好,我们基本弄明白了 RGB888 和 RGB666 的差别,当我们用图片解码器把图片从压缩的 jpeg 或 png解码以后,通常得到的像素格式是 24 bpp 或 32 bpp(带有 alpha 通道的)。这个时候是 8 bits 表示一个颜色分量,也就是 R 能有 28 个

4、颜色,如果把他强制转换成为 18 bpp 的,用 6 bits 表示一个颜色分量,也就是说 R 只能支持 26 个颜色。这就引起了颜色的丢失,也就是色差问题。那么接下来怎么处理这个问题呢?对于这个问题,在计算机图像处理中已有了完整的解决方法,那就是图像的抖动算法和图像的误差扩散算法。图像抖动算法的基本原理能参考如下的网址:http:/ turbo c 编译一下试试,呵呵,我试过了,能用。关于图像的误差扩散是目前比较流行和完善的算法,下面只介绍一下基本原理:降低色彩的深度. 下面三张图, 图 1 是 256 级灰度过度, 图 2 是简单的将图一按就近原则, 转换成了 16 级灰度. (直接把 8

5、bit 灰度的后 4bit 砍掉) 图 3 是将图 1 用误差扩散的方法转换成 16 级灰度.图 1 图 2 图 3非常明显, 同是 16 色, 不过图三的效果明显好于图二. 其原因是使用的误差扩散算法. 顾名思义, 误差扩散, 就是将色彩深度降低时, 将像素颜色的变化误差, 扩散开去. 这使得肉眼在观察图片的时候, 相邻的像素点集合整体 的误差变小. 下面举一例来说明要容易理解的多: 在原 256 级灰度图象上有一个点 , 灰度值是 120 (0255), 如果我们要将这张图转换成 16 级灰度, 最简单的方法是将每个像素点除以 16. 那么转换后的值就是 120/16=7.5 保留整数位后

6、就是 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 的分法: X 7 3 5 1 或 42 分: X 8 4 2 4 8 4 2 1 2 4 2 1 当然也不一定复杂的 Filter 就一定效果更好, 还是要视图象而定. 我觉得这个方法非常容易理解, 就不多写了, 能将其非常容易的扩展到彩色图象的处理. (只需要将颜色分成 R G B 三色素)在 linux 的 x window 下面用抖动算法做了一个实验,大体的效果如下图所示:请大家注意第一幅图的天空背景,是带有条纹的,这里的条纹就是由于直接从 24 bpp 转成 16 bpp 导致的,如果加入了抖动算法,对比其右边的图片显示效果就能非常容易的看出其显示效果变得细腻多了。这里就是简单的优化了,对于算法中必须采用的浮点数计算,能参考如下网址进行优化:http:/ 5mbox!

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。