上次和大家分享了为什么我拍的照片在别的手机上看不一样了,很多同志感同身受,看来这确实是个普遍性的问题~
而今天要讨论的话题与不同设备之间的差异没有关系,只是单纯地让自己发朋友圈的照片更高清!
放心,今天的文章比起之前让朋友圈的视频更高清短多了,但也会涉及求证测试的过程,可以静下心来看哈,文章最后也有总结 ~
和之前的思路一样,要解决这个问题,首先我们先得找到朋友圈发照片变糊的原因!
大家都知道变糊是因为微信的压缩,那具体微信对图片干了什么?从哪些维度对图片进行了“摧残”?
我们一个一个来分析 ~
I分辨率是否发生了变化
既然图片变糊了,那第一个怀疑的目标自然是分辨率。至于论证的方法,真的很简单!大家也可以试试 ~
首先,我们分别上传了两张分辨率不同的照片,一张为4164x2759 ,另一张为8000x4500。
然后分别下载回本地,在电脑上查看照片,发现分辨分别变成了1630x1080与1920x1080...
从上面两组对比来看,微信似乎会把图片一个方向的像素压缩至1080,但具体是哪一边,还需要进一步确定。
于是,我们新挑选了一张纵向画幅的照片,再来一次!
在上面两张图中,改变是纵向的像素,而这次改变的是横向的像素,但都有一个共同点,改变的是原图中较短的那一边的像素量
至此,我们可以很快地得出第一个有效结果:
不管你的照片像素有多高,发布到朋友圈后,原图中较短的那一边会被固定压缩至1080像素!
大家都知道,图片可以分两种:位图与矢量图。
矢量图一样无论怎么放大缩小,图片都是清晰的;但我们日常使用的图片是位图,其像素信息是固定的,不会平白消失或者减少...
“矢量图”示意
“位图”示意
所以在压缩像素时,从高分辨率压缩到低分辨率,就会发生“降采样”(downsampled翻译不同,也有人叫“下采样”)
关于降采样,这里有一个公式:
对于一幅图像尺寸为M*N,对其进行s倍的下采样,即得到(M/s)∗(N/s)尺寸的分辨率图像,当然,s应该是M和N的公约数才可以...
如果考虑是矩阵形式的图像,就是把原始图像s∗s窗口内的图像变成一个像素,这个像素点就是窗口内所有像素的均值
当然有很多基于降采样时避免画质过于损坏的优化方式,近两年