通过Facebook检索jpeg图像会大大降低质量。

时间:2012-08-06 20:27:20

标签: php facebook image image-processing facebook-php-sdk

我一直在努力解决将图像保存到jpeg失去质量的问题。作为我的学位项目,我正在制作一个应用程序,我在Facebook上传图像。

我有一个漂亮的彩色图像,为此我将像素值混洗以获得映射图像。然后我将它上传到Facebook。当我下载并将像素移回原始图像时,它会失去太多质量。

以下是原始的,已映射的和检索到的图像:

original masked retrived image

我尝试了许多策略,例如使用png文件,这些工作正常。但是,目前,无论图像是什么,Facebook都会将其转换为jpeg。因此,如果我将maskedimage.png上传到facebook,它会将其转换为.jpg并丢失一些像素相关值,这最终不会给我正确的图像来检索原始图像。

我正在使用PHP和facebook-php sdk。

请建议。
谢谢你 -Kaur

2 个答案:

答案 0 :(得分:3)

你被困住了。 JPEG是一种有损算法,它依赖于人类视觉特征来掩盖不准确性。通过扰乱像素,你已经改变了损失的性质,使它不再是不可见的。

答案 1 :(得分:0)

这主要不是关于JPEG有损;它是关于Facebook强制图像重新压缩,即使您在上传时检查“高质量”。

您可以做的最好是将源图像分辨率加倍,对于纯色,尝试引入噪点。此GD.SE question

中的详细信息

请注意,上传图片< 100kb的技巧已经不再有效,因为至少June 2012