【问题标题】:ImageMagick convert always modifies my jpgImageMagick convert 总是修改我的 jpg
【发布时间】:2015-04-08 05:46:53
【问题描述】:

我想用 convert 只修改 jpg 文件的 exif 方向标签:

convert original.jpg -set Exif:Orientation 1 new.jpg

我预计 new.jpg 与 orignal.jpg 仅在几个字节上有所不同。但实际上新文件比原来的文件小了 10k,而且它的颜色统计数据略有变化。即使我根本没有指定任何操作,也会发生这种情况:

convert original.jpg new.jpg

在这里,我希望 new.jpg 与 original.jpg 相同,除了可能有一些修改日期,但图像数据肯定不应该有任何差异,对吧? 我可以继续运行 convert(或 mogrify)而不对新文件进行操作,它将继续生成具有不同统计信息的新文件(但看起来与人眼相同)。

【问题讨论】:

  • 也许使用不同的实用程序会更好,例如Exifer。我在 ImageMagick 中找不到单独保留图像数据的选项,但这并不意味着没有这样的选项。

标签: imagemagick jpeg imagemagick-convert


【解决方案1】:

除非您使用完全相同的压缩设置重新压缩 JPEG 图像,否则图像会发生一些变化。即使您使用精确的设置,您也可能会因舍入错误而发生更改。

需要相同的设置是量化表和采样率。

【讨论】:

  • 所以如果我理解正确的话,即使没有像素被修改,convert/mogrify 也会在输入上解压缩图像并在输出上重新压缩它。每次这样做都会由于舍入错误而创建不同的数据(每个新文件都有不同的统计数据)。在我的示例中,这连续发生了 34 次,直到该过程收敛到一个常量文件。所以也许@Andrew Morton 说一个不同的工具是合适的。
【解决方案2】:

jhead 可能会给您带来更多好运,请访问here

它有两个可能对您有用的选项:

-autorot   Set rotation automatically
-norot     Clear rotation flag (maybe add `-rgt` to regenerate thumbnail)

或者,您可能会使用exiftool,可用here 更好地相处。

像这样使用它:

exiftool -Orientation=1 -n SomeImage.jpg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2017-09-11
    • 2013-10-11
    • 1970-01-01
    • 2023-04-02
    • 2020-12-29
    • 1970-01-01
    相关资源
    最近更新 更多