图都绿了这个梗应该是来自百度贴吧的,指图片经过多次转载,画质降低并且发绿,是真的发绿,字面意思的。
即便你不玩贴吧,也可能会在别的平台里看到过这种绿了的图,它们中的很多已被制成表情渗透进微信等。这是图片画质衰减的一种有趣的形式,我对此很感兴趣。
在贴吧随便逛几个帖子截几个图便可见一斑,图绿了这个梗挺普及,大家心照不宣。
展开全文
那么图为什么会变绿呢?
引用知乎用户波心荡 的解答:
“·Y = 0.257*R+0.564*G+0.098*B+16
Cb = -0.148*R-0.291*G+0.439*B+128
Cr = 0.439*R-0.368*G-0.071*B+128
R = 1.164*(Y-16)+1.596*(Cr-128)
G = 1.164*(Y-16)-0.392*(Cb-128)-0.813*(Cr-128)
B = 1.164*(Y-16)+2.017*(Cb-128)
JPEG采用Y'CbCr色彩空间,RGB转Y'CrCb的时候绿色的分量最大,解码的时候绿色的分量最小。所以说理想情况下绿色的比例是不变的。
然而,因为每个点分量只有8bit,有限字长效应导致在取整的时候g分量变大。这种误差在4:2:0空间下采样的时候被放大。
所以有限字长效应是导致压图变绿的元凶。
我做了一些试验:
我在iPhone百度贴吧app里试验了一下,将一张图片反复上传保存,非但并没有变绿,连图片画质的损失都非常小。
第1次
第20次
在电脑网页版的贴吧上进行同样操作,效果也是同样的。
第1次
第38次
倒是在电脑端反复上传到豆瓣相册得到了奇特的效果,不是变绿而是另一种衰减方式,事实上应该说是一种类似过度锐化,图片文件还越来越大了(72.6K—20)。
第1次
第20次
第40次
第80次
咦,为什么还是没有变绿呢?
我又找到了另一位知乎用户 Lion Yang 的解答:
“问题出在 Android 提供的压缩图片接口上,准确的说是一个 Android 里一个叫做 Skia 的库上。而百度贴吧、QQ,都会用 Android 系统提供的接口。这个 bug 在 2016 年 4 月中旬被修复了,如果按照 Android 的发行来看,那就是从 Android 7 (Nougat) 开始才消除这个问题。”
这个解答似乎解释了所有问题,也就是说,图变绿是仅存在于安卓7以前系统的贴吧、QQ用户的问题,而这两个条件是很容易同时满足的(当然轻易认为安卓和贴吧qq的使用主体为屌丝是不公正的)。
由于身边实在没有安卓设备,我就在朋友圈发出邀请,最终由微信好友休闲大肠帮助我将这个无聊的试验完成下去,在此鸣谢!他用android5系统的Nexus6手机,将我发过去的同一张图片在贴吧app中反复上传保存了20次。
第1次
中间过程
第20次:这…还能在绿点儿么?试验成功…
看来绿成这样真的不是梦
如果你也想拥有一款绿油油的超低保真写真,那可以行动起来了,只消拥有一台没更新的安卓手机,或是有个用这样安卓手机的志同道合的朋友。
本篇转自公众号:李驰A
如果你也喜欢这篇文章,当然是选择关注他啊。