FreeOZ论坛

标题: 一张无法正确缩放的诡异图片 [打印本页]

作者: 薛定谔猫    时间: 26-2-2010 23:10
标题: 一张无法正确缩放的诡异图片
FROM:http://www.matrix67.com/blog/archives/2866
    给大家看一个好玩儿的东西。在不同的显示器上,下面这张图片的显示效果可能大不相同。如果你用的是 TFT 屏幕,上下移动你的脑袋,调整你的视角,你也会看到不同的色彩。从低处往上看,你会看到一个白色的 MM 站在蓝色背景中;从高处往低看,你会看到一个黑色的 MM 站在黄色背景中。
   

                               
登录/注册后可看大图

    现在,把上面这幅图片保存下来,用你最爱的图象处理软件打开,然后缩放到原图的 50% 。左图是图片缩小后理应得到的结果,但你会发现,你得到的结果是右边的这个图——一片灰色。
   

                               
登录/注册后可看大图
      

                               
登录/注册后可看大图



    今天从 reddit 上看到了这个网页。根据它的解释,目前的绝大多数图象处理软件,包括 Photoshop 和 GIMP ,它们的图象缩放算法都有问题,错误的根源乃是对 gamma 值的错误假设。左图就是采用正确的图象缩放算法得到的图片,但几乎所有图象处理软件都会得到右边的这张图。该问题也普遍存在于图象查看程序里,甚至就在你用浏览器阅读这篇文章的时候,按几下 Ctrl + 减号 后你也会看到同样的错误。另外,由于同样的原因,缩放到其它尺寸、图片的旋转、使用某些滤镜也会出现各种奇怪的问题。具体的原理和更多学术讨论可以在上面那个网页中看到。原文中的图片很不和谐,因此我才根据其原理自己重做了一张。

作者: NEWGAY    时间: 26-2-2010 23:20
我按几下 Ctrl + 减,还能看到图,但是颜色有变化
作者: woodheadz    时间: 27-2-2010 02:49
我的google浏览器貌似正常!
作者: Yok    时间: 27-2-2010 03:29
这个应该是一种速度优化的结果把,刚好是50%的大小,就不用做插值了,直接挑隔行显示
作者: key    时间: 27-2-2010 09:08
给大家看一个好玩儿的东西。在不同的显示器上,下面这张图片的显示效果可能大不相同。如果你用的是 TFT 屏幕,上下移动你的脑袋,调整你的视角,你也会看到不同的色彩。从低处往上看,你会看到一个白色的 MM 站在蓝色背景中;从高处往低看,你会看到一个黑色的 MM 站在黄色背景中

这是视觉心理学的一个问题。类似的典型问题还有两个同样大小的圆,在不同背景条件下,你会硬是认为其中一个比另一个大,而且大得多; 一个明明存在的圆,你就是看不到。

现在,把上面这幅图片保存下来,用你最爱的图象处理软件打开,然后缩放到原图的 50% 。左图是图片缩小后理应得到的结果,但你会发现,你得到的结果是右边的这个图——一片灰色。

这是数字图像缩放时采用的取值算法的产生的结果。
图像缩放,我们一般会认为图像除了一些特别的边缘之外,大部分内容是连续、渐变的。
这是图像缩放算法的前提。典型的缩放算法比如平方均值等,可以很好比保留原有的边缘信息。
然而,如果你原来的图像有特殊的边缘,或者象素分布本身就很奇怪,在缩放时周围的点取均值得到的结果就是一个灰度值,
那就不能“正确”地“缩放”了。但一般图像处理软件都会有多种缩放算法,你选另一种算法应该就可以了。

今天从 reddit 上看到了这个网页。根据它的解释,目前的绝大多数图象处理软件,包括 Photoshop 和 GIMP ,它们的图象缩放算法都有问题,错误的根源乃是对 gamma 值的错误假设。

这不是bug。

左图就是采用正确的图象缩放算法得到的图片,但几乎所有图象处理软件都会得到右边的这张图。

左图也不正确,把所有的边缘信息都去掉了。

另外,由于同样的原因,缩放到其它尺寸、图片的旋转、使用某些滤镜也会出现各种奇怪的问题

基本上都是数学问题。
作者: yuba    时间: 27-2-2010 11:35
标题: 和缩放的算法有关
GIMP下的四种缩放算法,结果如下:

None
[attach]104567[/attach]

Linear
[attach]104568[/attach]

Cubic
[attach]104569[/attach]

Sinc
[attach]104570[/attach]
作者: key    时间: 27-2-2010 16:01
还可以把图打印出来,再扫描进去,然后再做处理。

原帖由 yuba 于 27-2-2010 11:35 发表
GIMP下的四种缩放算法,结果如下:

None
104567

Linear
104568

Cubic
104569

Sinc
104570





欢迎光临 FreeOZ论坛 (https://www.freeoz.org/ibbs/) Powered by Discuz! X3.2