Foxmail★Blog

——朱俊Blog

用户操作
[即时聊天] [发私信] [加为好友]
朱俊ID:foxmail
134055次访问,排名617好友0人,关注者1
foxmail的文章
原创 100 篇
翻译 0 篇
转载 10 篇
评论 235 篇
最近评论
vvukqr:WoW Gold
ym:好文才,对我就像醍醐灌顶
阿豪:你的墙纸设置方法有问题,无法设置jpg和gif,只能设置bmp。如果设置图片为jpg和gif墙纸没有任何变化。如果你感兴趣,我可以把代码发给你看看,看看到底是你的方法有问题还是我做得不对。
nqh@exchange.ricsson.com
xiaopianzi:看到你对svm有研究,所以请问svmlight多分类预测时,我连网页上提供的exampel效果都不好,怎么回事?参数的选定有没有窍门?还有libsvm我用它作多分类预测,总是报错!怎么回事?请指教!!!
egxsun:要是加flash,怎么改这段:if (filmURL != null) {
filmstring = '<object classid=""clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"" id=""WindowsMediaPlayer1"">'; ……
文章分类
收藏
相册
Funny
文章用图
朱俊
我的主页
MSN Space
中国人工智能网
恋雪
步天软件
留言
连连看
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 常见图像压缩方法收藏

新一篇: 使用脚本语言和IE右键菜单 | 旧一篇: DHTML对象模型 (二)

一、行程长度压缩

原理是将一扫描行中的颜色值相同的相邻像素用一个计数值和那些像素的颜色值来代替。例如:aaabccccccddeee,则可用3a1b6c2d3e来代替。对于拥有大面积,相同颜色区域的图像,用RLE压缩方法非常有效。由RLE原理派生出许多具体行程压缩方法:

1.PCX行程压缩方法:

该算法实际上是位映射格式到压缩格式的转换算法,该算法对于连续出现1次的字节Ch,若Ch>0xc0则压缩时在该字节前加上0xc1,否则直接输出Ch,对于连续出现N次的字节Ch,则压缩成0xc0+N,Ch这两个字节,因而N最大只能为ff-c0=3fh(十进制为63),当N大于63时,则需分多次压缩。

2.BI_RLE8压缩方法:

在WINDOWS3.0、3.1的位图文件中采用了这种压缩方法。该压缩方法编码也是以两个字节为基本单位。其中第一个字节规定了用第二个字节指定的颜色重复次数。如编码0504表示从当前位置开始连续显示5个颜色值为04的像素。当第二个字节为零时第二个字节有特殊含义:0表示行末;1
表示图末;2转义后面2个字节,这两个字节分别表示下一像素相对于当前位置的水平位移和垂直位移。这种压缩方法所能压缩的图像像素位数最大为8位(256色)图像。

3.BI_RLE压缩方法:

该方法也用于WINDOWS3.0/3.1位图文件中,它与BI_RLE8编码类似,唯一不同是:BI_RLE4的一个字节包含了两个像素的颜色,因此,它只能压缩的颜色数不超过16的图像。因而这种压缩应用范围有限。

4.紧缩位压缩方法(Packbits):

该方法是用于Apple公司的Macintosh机上的位图数据压缩方法,TIFF规范中使用了这种方法,这种压缩方法与BI_RLE8压缩方法相似,如1c1c1c1c2132325648压缩为:831c2181325648,显而易见,这种压缩方法最好情况是每连续128个字节相同,这128个字节可压缩为一个数值7f。这种方法还是非常有效的。

二、霍夫曼编码压缩:

也是一种常用的压缩方法。是1952年为文本文件建立的,其基本原理是频繁使用的数据用较短的代码代替,很少使用的数据用较长的代码代替,每个数据的代码各不相同。这些代码都是二进制码,且码的长度是可变的。如:有一个原始数据序列,ABACCDAA则编码为A(0),B(10),C(110),D111),压缩后为010011011011100。产生霍夫曼编码需要对原始数据扫描两遍,第一遍扫描要精确地统计出原始数据中的每个值出现的频率,第二遍是建立霍夫曼树并进行编码,由于需要建立二叉树并遍历二叉树生成编码,因此数据压缩和还原速度都较慢,但简单有效,因而得到广泛的应用。

三、LZW压缩方法

LZW压缩技术比其它大多数压缩技术都复杂,压缩效率也较高。其基本原理是把每一个第一次出现的字符串用一个数值来编码,在还原程序中再将这个数值还成原来的字符串,如用数值0x100代替字符串"abccddeee"这样每当出现该字符串时,都用0x100代替,起到了压缩的作用。至于0x100与字符串的对应关系则是在压缩过程中动态生成的,而且这种对应关系是隐含在压缩数据中,随着解压缩的进行这张编码表会从压缩数据中逐步得到恢复,后面的压缩数据再根据前面数据产生的对应关系产生更多的对应关系。直到压缩文件结束为止。LZW是可逆的,所有信息全部保留。

四、算术压缩方法

算术压缩与霍夫曼编码压缩方法类似,只不过它比霍夫曼编码更加有效。算术压缩适合于由相同的重复序列组成的文件,算术压缩接近压缩的理论极限。这种方法,是将不同的序列映像到0到1之间的区域内,该区域表示成可变精度(位数)的二进制小数,越不常见的数据要的精度越高(更多的位数),这种方法比较复杂,因而不太常用。

五、JPEG(联合摄影专家组JointPhotographicExprertsGroup)

JPEG标准与其它的标准不同,它定义了不兼容的编码方法,在它最常用的模式中,它是带失真的,一个从JPEG文件恢复出来的图像与原始图像总是不同的,但有损压缩重建后的图像常常比原始图像的效果更好。JPEG的另一个显著的特点是它的压缩比例相当高,原图像大小与压缩后的图像大小相比,比例可以从1%到80~90%不等。这种方法效果也好,适合多媒体系统。

 

发表于 @ 2004年07月29日 23:04:00|评论(loading...)|编辑

新一篇: 使用脚本语言和IE右键菜单 | 旧一篇: DHTML对象模型 (二)

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © Foxmail