Как я могу читать и удалять мета (exif) данные из моих фотографий с помощью командной строки?

Ответы:

79

Установите exiftool:

sudo apt-get install libimage-exiftool-perl

Чтобы прочитать метаданные фотографии:

exiftool /tmp/my_photo.jpg

Чтобы удалить метаданные фотографии:

exiftool -all= /tmp/my_photo.jpg

До:

ExifTool Version Number         : 8.60
File Name                       : my_photo.jpg
Directory                       : /tmp
File Size                       : 3.0 MB
File Modification Date/Time     : 2013:02:24 12:08:10-08:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
MIME Type                       : image/jpeg
Exif Byte Order                 : Big-endian (Motorola, MM)
Orientation                     : Unknown (0)
Y Cb Cr Positioning             : Centered
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Modify Date                     : 2013:02:24 11:25:27
Make                            : Samsung
Camera Model Name               : Galaxy Nexus
Exif Version                    : 0220
Flashpix Version                : 
Color Space                     : sRGB
Components Configuration        : Y, Cb, Cr, -
Compressed Bits Per Pixel       : 0
Exif Image Width                : 1944
Exif Image Height               : 2592
Date/Time Original              : 2013:02:24 11:25:27
Create Date                     : 2013:02:24 11:25:27
Exposure Time                   : 1/354
F Number                        : 2.8
Exposure Program                : Aperture-priority AE
ISO                             : 50, 0, 0
Shutter Speed Value             : 1/353
Aperture Value                  : 2.6
Brightness Value                : 0
Exposure Compensation           : 0
Max Aperture Value              : 2.6
Subject Distance                : 0 m
Metering Mode                   : Multi-spot
Light Source                    : Daylight
Flash                           : No Flash
Focal Length                    : 3.4 mm
Flash Energy                    : 0
Exposure Index                  : undef
Sensing Method                  : One-chip color area
Scene Type                      : Directly photographed
Custom Rendered                 : Custom
Exposure Mode                   : Auto
White Balance                   : Auto
Digital Zoom Ratio              : 1
Scene Capture Type              : Standard
Contrast                        : Normal
Saturation                      : Normal
Sharpness                       : Normal
Subject Distance Range          : Unknown
Image Unique ID                 : OAEL01
GPS Time Stamp                  : 19:25:27
GPS Date Stamp                  : 2013:02:24
Compression                     : JPEG (old-style)
Thumbnail Offset                : 2143
Thumbnail Length                : 10941
Image Width                     : 1944
Image Height                    : 2592
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Aperture                        : 2.8
GPS Date/Time                   : 2013:02:24 19:25:27Z
Image Size                      : 1944x2592
Shutter Speed                   : 1/354
Thumbnail Image                 : (Binary data 10941 bytes, use -b option to extract)
Focal Length                    : 3.4 mm
Light Value                     : 12.4

После:

ExifTool Version Number         : 8.60
File Name                       : my_photo.jpg
Directory                       : /tmp
File Size                       : 2.9 MB
File Modification Date/Time     : 2013:02:24 12:21:39-08:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
MIME Type                       : image/jpeg
Image Width                     : 1944
Image Height                    : 2592
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 1944x2592

Рекомендации:

klenwell
источник
1
Для обработки всех файлов в текущем каталоге: for f in *.jpg; do exiftool -all= "$f"; done
twobeers
6
или простоexiftool *.jpg
gavenkoa
15

Imagemagick

Вместо Exiftool для обработки метаданных Exif я нашел более полезную и удобную для запоминания команду с помощью Imagemagick :

Читать

identify -verbose image.jpg | grep exif

Удалять

С imagemagickустановленным пакетом вы можете сделать это ( не только для JPEG ):

mogrify -strip *.jpg

Из руководства :

-strip

удалите изображение любых профилей, комментариев или этих фрагментов PNG: bKGD, cHRM, EXIF, gAMA, iCCP, iTXt, sRGB, tEXt, zCCP, zTXt, даты.

AFAIK единственная разница в том, что mogrifyне удалит эти метаданные:

  • Версия JFIF
  • Блок разрешения
  • X разрешение
  • Разрешение Y

Что может быть полезно. По сравнению сdiff -y <(exiftool wMogrify.jpg) <(exiftool wExiftool.jpg)

Удалить данные EXIF! = Anonymize : -stripповторно сжать изображение . Это может быть хорошо : то же самое программное обеспечение, которое делает фотографии, может скрывать данные на изображении ( стеганография ). Я не уверен, что повторное сжатие всегда удалит все (вероятно, нет). Чтобы избежать этого переопределения, вы можете использовать jpegtran :

jpegtran -copy none image.jpg > newimage.jpg

Кроме того, чтобы избежать потери цветового профиля ( ICC , который приводит к более богатым цветам [цитата необходима] ):

convert image.jpg profile.icm && convert image.jpg -strip -profile profile.icm newimage.jpg

Вы можете спросить себя, являются ли эти расходы заметными или уместными в вашем случае.

Другим инструментом о стеганографии на изображениях является стегид .


Смотрите также

Пабло А
источник
Тем не менее, обратите внимание, что это похоже на повторное
сжатие
1
@CiroSantilli 新疆 改造 中心 996ICU 六四 事件 Я отредактировал ответ. Это может быть хорошо, чтобы удалить метаданные, закодированные на изображении. Было бы здорово иметь исследования, чтобы поддержать это.
Пабло А
Да, я заметил это, потому что размер изображения значительно изменился, но должны быть лучшие способы, по крайней мере, в 2010 году разработчики ImageMagick подтвердили это: stackoverflow.com/questions/2654281/…
Сиро Сантилли,
6

Чтобы удалить, а затем изменить одно поле, мы можем использовать эту команду:

exiftool -Copyright= IMG_3357.jpg
exiftool -Copyright=LinuxSlaves IMG_3357.jpg

Ссылка

Андре Петкова
источник