JPEG图像压缩算法是有损算法。每次当你打开图片编辑、保存的时候,图片中一部分原始内容就会丢失。但是,人们很难用肉眼观察到其中的差别。因此,我们就来压缩下《罗密欧与朱丽叶》,把虚拟的“压缩”现实化。
压缩后片段:
“O Romep+ Rpldo wiepffnre arr!riov Romep@
Dgoy thz gatggr `me tefusf sgx n`me!”
原文:
O Romeo, Romeo! wherefore art thou Romeo?
Deny thy father and refuse thy name;
上述片段来自于《罗密欧与朱丽叶》中著名的“楼台会”。我用PhotoShop导入这个纯文本,选择“最高质量”,再将所得结果导出,于是就得到了这么一个东西。
通过上述对比可以发现,即使选择的是“最高质量”的压缩方式,多数字符还是被其相邻或相近的字符替换了。而这一点在图像上就是细微的颜色变化,人眼几乎分辨不出来;但当变化通过这种形式展现出来时,即使最轻微的变化也会给阅读带来麻烦。
于是,我又试了试其他的质量,下图中从上到下依次是“最高质量”到“最高压缩”。之后,我又把它们打印出来,装订成册。
当质量逐渐下降时,很多字符都已经变成了ASCII中的控制符。为了方便印刷,这些控制符都以空格代替,但制表符和换行符得以保留。悲催的是,一行文本变成了好几行,而这场戏也成了一串串无厘头的字符。
从此,我们得以发现:我们对文本失真十分敏感,因为每秒钟人眼能够阅读的数据只有几十个字符;相反,我们对图像却不加考究,降低清晰度的图像丝毫不会影响到我们。
真的是这样吗?阅读序顺错乱真的不会影响读阅质量吗?
[via TomScott]
评论摘录:
比如把abcdef编码成两个RBG点:
(97, 98, 99)(100,101,102)
比如原文有30000个字符,那么就可以编码成10000个像素点,排成100×100的图片。
然后jpeg压缩,然后反过来解码。
另外我想说一下,图片的压缩方式不适合文字。举个简单的例子,相邻的3个点
(0, 0, 0)(X,X,X)(2,2,2)
这个时候预测中间那个点是(1,1,1)似乎是合理的,至少不会出太大偏差。
如果是文字:
F*CK
谁来预测一下。
信息来源:http://www.cnbeta.com/articles/241730.htm