一个能测试你的LCD质量且无法正确缩小的奇异图片和简单原理分析(增加win7桌面背景辅助程序)
发这帖子前,我想了很久很久,真不知道应该用什么形式来发 最后还是决定本帖子仍然是分享和讲解的方式,但相应的源程序和代码留下一次我再整理吧,那实在是不好写,加上代码并不成熟,这几天还在测试优化着
正式开始阅读前,请保证你用的是台式机LCD显示器,或者是笔记本,不要用手机(800K的图片也会消耗你很多流量)
现在的LCD可视角度应该能达到130度至170度,请在可视角度(屏幕颜色不会产生较大变化甚至反色的角度)范围下做这个实验
好了,有一部分人可能见过了,之前在某帖子里,某个全灰的图片,就是今天的主角
很奇怪,全灰的图片,是什么都没有吗?不是,是因为那个其实是400*300的缩略图,
以下是原图(800 * 600, 可能下载比较慢,请稍等):
" border="0" />
如果你显示的仍然是灰暗的图片,那请另存图片,然后单独打开,不要带任何缩放的方式看这张图,
因为这个图用浏览器(IE,firefox,chrome),或者是常见的图片查看软件,不管放大还是缩小都会严重失真,出现大片的灰暗,
如果长宽恰好缩小为50%或者25%,都会导致图片变成全灰
如果你能正常查看这个图片,看到一个MM,和绿色的锁链,图像比较清晰的话,那就可以开始看下面的内容
如果你的是TFT屏幕(现在多数LCD都是TFT),那么,
如果你的视线,是从下方向上看屏幕的话,会看到色彩更鲜艳的图片
而从上方向下看屏幕的话,慢慢不断增加角度,你会发现图片变的越来越灰暗,然后某个角度突然图片变成反色(像底片一样)
但是,你看看屏幕的其它部分,其它部分的颜色还基本是原来的颜色,却只有这个图片变成反色,很奇怪吧?
另外,在某些LCD显示器下,对这个图片会极敏感,显示这个图片的时候会有闪烁感,通常是用的比较久的LCD会发生这个情况(可测试出LCD的质量)
还有,从上向下看,在图片突然开始变成反色的时候的那个角度,这个角度如果越小(你头高一点点向下看)就已经反色,
那么这个LCD质量一般,实际表现为屏幕颜色不均匀,屏幕边角颜色误差较大
否则这个角度越大,你得完全站起来向下看,才看到反色的话,那恭喜你,你的LCD显示器在色彩均匀上的表现相当出色
不过如果你的是CRT显示器,那就不要去试了,因为不论什么角度,结果都几乎一样,不会产生LCD上的效果
现在简单解释一下为什么会这样
首先是为什么不能缩放的问题。这个图片是特制的,如果你用windows的画图软件来放大,你会发现任意两个相邻像素,颜色相差都非常大
而我们常用的软件来显示这个图片的时候,一但要缩小显示,那么会对相邻像素做类似平均值的运算(这样说不严格,但通俗一些),
一但要平均值,一明一暗的像素,如果构造合理,可以令平均的结果极接近灰色,如果正好是缩小为50%,那图片就会恰好成为全灰
其实这也说明,我们现在使用的大部分图片显示软件,在缩放算法上都是错误的!
缩小一张图片,本应该显示和原图相近的内容,而不是变得完全不一样
根本原因是那个平均值算法(严格来说是插值算法)不适用于图片,人眼所看到的亮度,并非是简单的线性平均
PS:有少量的图片处理软件还是能正确以平滑(或抗锯齿)方式缩小这个图的,非平滑(或抗锯齿)算法的不算在内
于是乎,利用这个道理,就可以构造一个这种图片,只要满足相邻像素平均结果是灰色就可以了
如果你有兴趣的话,你也可以用C来写一个这种图片生成器,你可以直接读取bmp文件实现(24bit真彩色bmp的文件格式很简单的),
或者你直接把处理结果显示在屏幕窗口上也行,这就要你懂图形编程了,总之读入图片后,一个一个像素处理好,
做成一明一暗间隔,并且保证它们的平均值是常量0x808080
至于会令TFT在某些角度下看的时候,图片会完全反色的问题,利用的是TFT的亮度变化和色偏规律来构造,
从下向上看,色彩差别通常不大,但也会有一些偏差,比如亮红色会变橙红色,暗红变黑色等等
而从上向下看时,变化方式刚好相反,导致在亮度变化到一定程度后,有一个接近全灰的临界阶段,
就是亮度几乎一样,令各颜色混合后看起来是灰白色,越过这个临界点后,亮度逆转,使图片看起来变成反色
就产生了这个奇怪的效果。这并不是颜色本身变成反色,是亮度差造成颜色混合产生的错觉,
比如 A06060是红色,亮度逆转后是60A0A0的话,就变青色了,可实际上只是亮度在变化
所以其它地方的颜色看起来还是正常,而只有这个图片变成这样
好了,原理就先解释这么多,如果你有兴趣,也可以多实验看看颜色和亮度的变化特点,相信你也能根据这个写一个这种怪图生成器来
补充内容:
以下补一张色阶测试图,专门测试显示器用的,
这个图是严格明暗间隔生成的,可以避免一些显示器“自作聪明”做像素平滑(或者锐化),
使人看起来图像质量提升一些,似乎色彩表现得很好的小手段(一旦这么做图片就显得很灰)
或者有部分显示器的面板有问题,在此色阶图上,接近某些颜色的时候,一些亮度较低的像素表现不出来,导致大片同色
观察左图,从上到下,有没有一个颜色变的越来越宽,如果有,那就是质量不佳
但是这种Gamma问题却在普通的色阶图上不容易表现出来,这个还真有点奇怪了
下图请点击放大来看,否则会是灰色图片
不过因为制作所用算法有点不如意,得到的图片过渡色不是很和谐,有水平的突变条纹的现象(或者可能是我的显示器的问题,便宜货啊。。。),暂时没有办法了,先将就一下吧
再补充:
增加了一个win7桌面背景设置程序,可以把这种图片设置为背景,只支持bmp格式
setwallpaper.zip
(3.15 KB)
使用方法很简单,解压缩后,把那个bmp文件拖到这个exe程序上放手,就可以了
如果你有自己的图片想做成这种,那请把你自己的图片发上来,或者发到我的email,我需要根据不同的图片调整参数来生成,以便得到更好的效果
.
[ 本帖最后由 御坂美琴 于 2011-1-18 21:26 编辑 ]