可以说出JPEG的质量等级吗?
image-processing
5
0

这实际上是一个两部分的问题,因为我还不完全了解这些事情是如何工作的:

我的情况:我正在编写一个网络应用程序,该程序可以让用户上传图像。然后,我的应用将调整为可显示的大小(例如:640x480-ish),并保存文件以备后用。

我的问题:

  1. 给定一个任意的JPEG文件,是否可以分辨质量等级,以便在保存调整大小的图像时可以使用相同的质量?
  2. 这甚至有关系吗?无论原始质量如何,是否都应将所有图像保存在适当的水平(例如75-80)?

我对此不太确定,因为据我所知:(让我们举一个极端的例子),如果某人保存了质量为0的5兆像素图像,那么它就会像任何东西一样都是块状的。将图像尺寸减小为640x480,可以消除块状现象, 几乎不会引起注意...直到我再次将其保存为质量0 ...

在频谱的另一端,如果有一个图像,它的图像是q == 0的800x600,则将尺寸调整为640x480不会改变看起来像胡扯的事实,因此使用q = 80进行保存将是多余的。

我什至靠近吗?

我在PHP上使用GD2库,如果有什么用的话

参考资料:
Stack Overflow
收藏
评论
共 8 个回答
高赞 时间 活跃

Jpeg压缩算法具有一些会影响结果图像质量的参数。

这样的参数之一是量化表,其定义了将在每个系数上使用多少位。不同的程序使用不同的量化表。

某些程序允许用户将质量级别设置为0-100。但是,这个数字并没有统一的定义。用Photoshop制作质量为60%的图像占用46 KB,而用GIMP制作的图像仅占用26 KB。

量化表也不同。

还有其他参数,例如子采样,dct方法等。

因此,您无法通过单个质量级别号来描述所有图像,也无法通过单个数字来比较jpeg图像的质量。但是您可以创建诸如photoshop或gimp之类的数字,以描述质量与尺寸之间的折衷。

详细信息: http : //patrakov.blogspot.com/2008/12/jpeg-quality-is-含义less-number.html

通常的做法是将图像调整为适当的大小,然后再应用jpeg。在这种情况下,大型和中型图像将具有相同的大小和质量。

收藏
评论

这是我发现效果很好的公式:

  1. jpg100size(对于98-100%的质量,其大小不得超过字节)=宽度*高度/1.7

  2. jpgxsize = jpg100size * x(x =百分比,例如0.65)

因此,您可以使用这些统计信息来统计上次保存jpg的质量。如果您想将其降低到65%的质量,并且想要避免重新采样,则应首先比较尺寸,以确保尺寸不太小,然后再降低质量

收藏
评论
  1. JPEG是一种有损格式。每次保存JPEG同一图像时,无论质量级别如何,都会降低实际图像质量。因此,即使您确实从文件中获得了质量级别,当再次保存JPEG时也无法保持相同的质量(即使质量= 100)。

  2. 您应该以文件大小可以负担的最高质量保存JPEG。或使用无损格式,例如PNG。

低质量的JPEG文件并不会变得更加块状。而是减少了色彩深度,并删除了图像各部分的细节。您不能依靠质量较低的图像块状并且在较小尺寸下看起来还不错。

根据JFIF规范。尽管存储了水平和垂直像素密度,但图像头中未存储质量编号(0-100)。

收藏
评论

由于使用identify已经有两个答案,因此这也是一个输出文件名(一次扫描多个文件)的答案:

如果您希望有一个简单的filename: quality输出filename: quality用于多张图像的filename: quality ,则可以使用

identify -format '%f: %Q' *

显示文件名+当前目录中所有文件的压缩率。

收藏
评论

对于将来的访问者,检查给定jpeg的质量,您可以使用imagemagick工具:

$> identify -format '%Q' filename.jpg
   92%
收藏
评论

您可以通过ImageMagick查看压缩级别。下载和安装说明可在官方网站上找到。

安装它后,从命令行运行以下命令:

identify -format '%Q' yourimage.jpg

并且您应该获得从0(低质量,小文件大小)到100(高质量,大文件大小)的值。

信息来源

收藏
评论

因此,您基本上关心两种情况:

  1. 如果传入图像的质量设置过高,则可能会占用不适当的空间。因此,例如,您可能希望将传入的q = 99减少到q = 85。

  2. 如果传入图像的质量设置过低,则可能浪费空间来提高其质量。提高质量后,除了丢弃大量数据的图像不会神奇地占用更多空间外,即使在高质量设置下,块状图像也可以很好地压缩。因此,我认为将传入的q = 1提高到q = 85是完全可以的。

因此,我认为简单地强制设置一个好的质量设置是一件完全可以接受的事情。

收藏
评论

通过使用更高的质量值,文件的每次新保存都会进一步降低整体质量,您将保留更多图像。无论原始图像质量如何。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号