ImageMagick/Mogrify strip 不重新压缩可能吗?

ImageMagick/Mogrify strip without recompression is it possible?

问题出在mogrify或者是我做的不好

ls -la
total 3.8M
drwxr-xr-x 2 root root  4.0K Nov 26 12:04 .
drwxr-xr-x 4 root root  4.0K Nov 26 11:46 ..
-rw-r--r-- 1 root root  726K Nov 25 20:59 1.jpg
-rw-r--r-- 1 root root  686K Nov 25 20:59 2.jpg
-rw-r--r-- 1 root root  642K Nov 25 20:59 3.jpg
-rw-r--r-- 1 root root 1017K Nov 25 20:59 4.jpg
-rw-r--r-- 1 root root  709K Nov 25 20:59 5.jpg

SHA1 是:

sha1sum *
e1a8f9a1f3c4b036f30f26b1e6db8a6816418597  1.jpg
0bdfe43ce447922e31d644ca01ec62b1fbe28b24  2.jpg
fa5cf34fde564f591c751896d549d9ad63fa63e6  3.jpg
82254da164d3974fd595de0109ec403cc277a85d  4.jpg
3fd0fb00adca64bd27f50a79c2056abbb4630259  5.jpg

让我们剥离 exif。

for file in *.jpg; do mogrify -strip $file ;done

检查 SHA1,它应该改变:

sha1sum *
800957bd811d6a6e5a5748a3c8dd2d2d5c5fe6be  1.jpg
44f8d904ce12ce4c765496c3d7fb574509e04e94  2.jpg
6a349962836f051cd89b5d05aed9697e5294c155  3.jpg
dd50c36f4187fe261bd34d854acd93bdfdef4d32  4.jpg
246ec57d301caa06c602706d52210fe6ac1b4943  5.jpg

但是当我剥离 exif 后我有 2 倍不同的 SHA1:

for file in *.jpg; do mogrify -strip $file ;done

sha1sum *
501446ded829acdec0b25a32176d5182798a7c35  1.jpg
ccfceeaa2f3de6b6ab8aa339447ca96e2ea1c074  2.jpg
cb8cb9aef818c87a1f3a3c932f80528a8de291a0  3.jpg
c26f1dcd790d650768644623c60a6c08d3cb2b8b  4.jpg
6a9f34b43d8ec9e0ce84ef0cef2fd91214562fde  5.jpg


for file in *.jpg; do mogrify -strip $file ;done

sha1sum *
3c0183edec801fb96f5088349150384c050f7d2b  1.jpg
ad26f04ffab52301c509b46e523937b3b795ebf0  2.jpg
1edc57ec0e09df23ab9a96d043eefd25d23f3170  3.jpg
a5e38ff402d337edeea0abfd30e02540ff7e915a  4.jpg
c35ec8d9ce4e26030e4209fdb3c32bc52110ac4f  5.jpg

是否可以在不使用 mogrify 重新压缩的情况下从 JPG 图片中剥离 exif?

我认为这是不可能的。您可能需要尝试 exiftoolexiv2

exiftool -all= *.jpg

exiv2 rm *.jpg