Влияет ли написание тегов EXIF ​​на качество JPEG?

Если я правильно понимаю, то данные EXIF ​​записываются в дополнительное пространство файла JPEG. Когда я добавляю или изменяю тег EXIF, изображение остается нетронутым? Я искал это, и я не смог найти ответ. Я не хочу «ухудшать качество» своих изображений, когда позже добавляю/удаляю/обновляю тег.

Ответы (1)

Есть теги, которые влияют на то, как изображение может интерпретироваться программным обеспечением (подумайте об ориентации), но нет, биты изображения трогать не следует.

Знания говорят, что есть (плохие) редакторы, которые открывают изображение (декодируют его), чтобы показать его, и даже если вы просто изменяете данные EXIF, они перекодируют данные JPEG вместо того, чтобы копировать поверх оригинала. В этом случае вы можете потерять качество. Я совершенно уверен, что, например, exiftool безопасен (как и многие другие инструменты).

Доказательство : я начинаю с изображения blue_boniface.jpgи копирую его в blue_boniface_bare.jpgand blue_boniface_comment.jpg:

% cp blue_boniface.jpg blue_boniface_bare.jpg
% cp blue_boniface.jpg blue_boniface_comment.jpg

Теперь убираю все EXIF ​​из первого, а Commentво второе добавляю поле:

% exiftool -all= blue_boniface_bare.jpg
% exiftool -Comment='This is a new comment' blue_boniface_comment.jpg

И после этого я конвертирую все три изображения в формат PNM (который не имеет вспомогательных данных и является самым простым форматом изображения, который я знаю):

% jpegtopnm blue_boniface_bare.jpg > one.pnm
% jpegtopnm blue_boniface.jpg > two.pnm
% jpegtopnm blue_boniface_comment.jpg > three.pnm
% ls -l *.pnm
-rw-rw-r-- 1 romano romano 24307892 Sep 13 17:57 one.pnm
-rw-rw-r-- 1 romano romano 24307892 Sep 13 17:57 three.pnm
-rw-rw-r-- 1 romano romano 24307892 Sep 13 17:57 two.pnm

Три файла кажутся одинаковыми, давайте проверим:

% diff one.pnm two.pnm
% diff one.pnm three.pnm 

( diffмолчит, если файлы одинаковые). Таким образом, данные изображения точно такие же после обработки файла EXIF. КЭД