我在Photoshop中打开某些jpeg文件(来自Facebook和Instagram,以及一些三星手机)时遇到了问题。我已经读过,如果我使用mogrify -comment test insert-image-here.jpg
,它将“处理”该文件,并以某种方式在Photoshop中打开它。令人惊讶的是,它的效果非常好。
然而,我最近使用相同的上述命令“mogrified”一个图像,只是让文件大小减少了0.71mb,这令人担忧,因为我不想在jpeg中重新压缩我的图像。然后我再把它弄了十次,但我没有看到任何明显的视觉损失。我试着“mogrifying”一个小的170kb图像20次,文件大小最初减少,然后每次后续迭代增加。我通过快速交换文件来比较文件,但没有看到任何质量损失。
mogrify做的是减少文件大小,似乎没有降低质量?是否有一个质量选项,我可以添加,以使mogrify不减少文件大小?
这是来自另一个用户Why does the size of my image decrease when I add a comment to an image?的类似问题,但我无法辨别任何质量损失,因此将我的图像以95%或70%的质量运行20次将立即引人注目。
以下是我用作测试的图片的链接:http://ocicat.wildrain.tripod.com/sitebuildercontent/sitebuilderpictures/aragon.jpg
编辑:
我通过mogrify命令再运行了两次图像1000次(白噪声之一,我没有包括。)我仍然没有看到任何质量损失 - JPEG压缩是不明显的(也许我的眼睛失败了我。)有趣的是,这两个图像的最终文件大小和原始文件大小是相同的。
答案 0 :(得分:0)
我不明白为什么你会从这些来源打开JPG时遇到麻烦。但有些观众无法正确处理CMYK jpg文件。如果Photoshop有这个问题,我会感到惊讶。如果您使用Imagemagick添加注释,那么它将解压缩您的文件并重新压缩它。 Imagemagick将在文件中使用-quality值,如果它可以找到它并使输出相同。但是,如果它无法在文件中找到质量值,那么它将在值92处压缩。如果文件大小为100作为输入但在92处重新压缩,则可能导致文件大小减小。下次执行相同操作时它将继续使用92.但是,由于JPG有损,可能会有一些有效质量的损失。但在92,它可能不会在视觉上引人注目。您可以尝试转换代替mogrify,看看是否有任何不同。此外,无需添加评论。只需读取输入并再次保存即可在Imagemagick中解压缩并重新压缩。见http://www.imagemagick.org/script/command-line-options.php#quality
根据Imagemagick
,您的图片为sRGB,质量为75identify -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的变化 - 采样因子。见http://www.imagemagick.org/script/command-line-options.php#sampling-factor。压缩表也可能存在差异。 Imagemagick使用libjpg来读取和解压缩JPG。原始JPG可能已使用其他工具进行压缩。
另一个因素可能是引入或删除颜色配置文件。 Imagemagick不应该自动更改。
我最好的建议是检查输入的质量以及为输出分配的质量。还要检查输入颜色空间。使用识别-verbose yourimage来查看可能已更改的内容。
不幸的是,我不确切知道发生了什么。我只能告诉你一些可能涉及的因素。
我使用Imagemagick 6.9.9.7 Q16 Mac OSX转换文件。
convert aragon.jpg aragon2.jpg
输入具有Filesize:5.94157MiB。输出具有Filesize:5.23264MiB。两个文件具有相同的质量75.因此,由于解压缩和再压缩,文件大小略有变化,可能是由于JPG具有有损压缩的实际质量损失。或者可能是由于使用的压缩表的变化。再做一次会产生一个Filesize:5.23289MiB。所以非常轻微的增加。做
convert aragon.jpg -quality 100 aragon4.jpg
产生文件大小:13.968MiB,因为我们要求它使用比输入更大的压缩质量,所以即使它是有损压缩,文件大小也会大幅增加。