0

我在 Photoshop 中打开某些 jpeg 文件(来自 Facebook 和 Instagram 以及一些三星手机的文件)时遇到问题。我已经读过,如果我使用mogrify -comment test insert-image-here.jpg,它将“处理”该文件,并以某种方式在 Photoshop 中打开。令人惊讶的是,它运作良好。

但是,我最近使用上述相同的命令“修改”了一个图像,只是文件大小减少了 0.71mb,这令人震惊,因为我不想在 jpeg 中重新压缩我的图像。然后我又把它弄脏了十次,但我没有看到任何明显的视觉损失。我尝试“修改”一个 170kb 的小图像 20 次,文件大小最初减小,然后每次后续迭代都增加。我通过快速交换文件来比较文件,但没有发现任何质量损失。

mogrify 做了什么来减少文件大小,似乎没有降低质量?是否可以添加质量选项以使 mogrify 不减小文件大小?

这是来自另一个用户的类似问题为什么当我向图像添加评论时我的图像尺寸会减小?但我无法辨别出任何质量损失,因此以 95% 或 70% 的质量运行我的图像 20 次会立即引起注意。

这是我用作测试的图像的链接:http: //ocicat.wildrain.tripod.com/sitebuildercontent/sitebuilderpictures/aragon.jpg

编辑:

我通过 mogrify 命令运行了另外两张图像 1000 次(其中一张是我没有包含的白噪声。)我仍然没有看到任何质量损失——JPEG 压缩是不明显的(也许我的眼睛让我失望了。)有趣的是,这两张图片的最终文件大小和原始文件大小是一样的。

零迭代: 在此处输入图像描述

1000 次迭代: 在此处输入图像描述

4

1 回答 1

0

我不明白为什么您无法从这些来源打开 JPG。但有些观众无法正确处理 CMYK jpg 文件。如果 Photoshop 有这个问题,我会感到惊讶。如果您使用 Imagemagick 添加评论,那么它将解压缩您的文件并重新压缩它。如果 Imagemagick 可以找到文件中的 -quality 值并使输出相同,它将使用它。但是,如果它在文件中找不到质量值,那么它将压缩为值 92。如果输入为 100 但在 92 处重新压缩,这可能会导致文件大小减小。下次你做同样的事情它将继续使用 92。但是,由于 JPG 是有损的,因此可能会损失一些有效质量。但在 92 岁时,它可能不会在视觉上引人注目。您可以尝试 convert 代替 mogrify ,看看是否有任何不同。也没有必要添加评论。只需读取输入并再次保存它就会在 Imagemagick 中解压缩并重新压缩它。看http://www.imagemagick.org/script/command-line-options.php#quality

根据 Imagemagick,您的图像是 sRGB,质量为 75

identify -verbose Aragon.jpg

Format: JPEG (Joint Photographic Experts Group JFIF format)
  Mime type: image/jpeg
  Class: DirectClass
  Geometry: 9600x14400+0+0
  Resolution: 2400x2400
  Print size: 4x6
  Units: PixelsPerInch
  Type: TrueColor
  Endianess: Undefined
  Colorspace: sRGB
  Depth: 8-bit
...
  Compression: JPEG
  Quality: 75
  Orientation: Undefined
  Properties:
    date:create: 2017-08-18T21:26:37-07:00
    date:modify: 2017-08-18T21:26:37-07:00
    jpeg:colorspace: 2
    jpeg:sampling-factor: 2x2,1x1,1x1
    signature: bad15aa674dc45312d47627b620c895ee76b1fa4457b55bf1acca85883de5963
  Artifacts:
    filename: aragon.jpg
    verbose: true

因此不存在 CMYK 问题。

这个文件是在你用 Imagemagick mogrify 处理它之前还是之后?

如果此文件最初的质量为 75,然后以 92 或高于 75 的值重新压缩,则文件大小可能会增加。

如果您不希望文件大小减小,请在 75 或更高时重新压缩。100 会给您最小的压缩,但可能会增加文件大小。

其他可能发生变化的因素是 JPG 的 -sampling-factor。请参阅http://www.imagemagick.org/script/command-line-options.php#sampling-factor。压缩表也可能存在差异。Imagemagick 使用 libjpg 来读取和解压缩 JPG。原始 JPG 可能已使用其他工具压缩。

另一个因素可能是颜色配置文件的引入或删除。Imagemagick 不应该自动改变它。

我最好的建议是检查输入的质量以及分配给输出的质量。还要检查输入色彩空间。使用 identify -verbose yourimage 查看可能发生的变化。

不幸的是,我不知道到底发生了什么。我只能告诉你一些可能涉及的因素。

我使用 Imagemagick 6.9.9.7 Q16 Mac OSX 来转换您的文件。

convert aragon.jpg aragon2.jpg

输入的文件大小为:5.94157MiB。输出文件大小为:5.23264MiB。两个文件具有相同的质量 75。因此,由于解压缩和重新压缩,文件大小略有变化,可能是由于 JPG 具有有损压缩这一事实而导致的实际质量损失。或者可能是由于使用的压缩表发生了变化。再次执行此操作会产生文件大小:5.23289MiB。所以增幅非常小。正在做

convert aragon.jpg -quality 100 aragon4.jpg

产生文件大小:13.968MiB,因为我们要求它使用比输入更大的压缩质量,所以即使是有损压缩,文件大小也会显着增加。

于 2017-08-19T04:31:17.823 回答