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

Вопрос или проблема

Я только что это посмотрел. Решил поделиться здесь для будущей справки.

Установите 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

Ссылки:

ImageMagick

Вместо Exiftool, для обработки Exif метаданных (также IPTC, XMP и ICC метаданные) я нашел ImageMagick (установите его с помощью sudo apt install imagemagick) более полезным, а команды легче запоминаются.

С версии IMv7 magick identify/mogrify/... используется вместо [1].

Чтобы прочитать

identify -verbose image.jpg | grep exif

Чтобы удалить

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

mogrify -strip *.jpg  # Опционально: -verbose

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

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

Так как вы потеряете метаданные о ориентации, возможно, вам захочется сначала выполнить mogrify -auto-orient image.jpg.

Насколько я знаю, единственное отличие от exiftool в том, что mogrify не удалит эти метаданные:

  • JFIF Версия
  • Единица разрешения
  • X Разрешение
  • Y Разрешение

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

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

jpegtran -copy none image.jpg > newimage.jpg

Также, чтобы избежать потери цветового профиля (ICC метаданные, которые обеспечивают более насыщенные цвета[нужна ссылка]):

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

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

Еще один инструмент по стеганографии на изображениях – это steghide.

Другие инструменты и примечания

  • mat2 (инструмент для анонимизации метаданных версии 2): Удаляет метаданные из многих форматов (--list). Рекомендуется privacyguides.org.
  • Альтернативы: jhead (только для JPEG) и exiv2 (man; предложено на Википедии).
  • Metadata Cleaner: Десктопное приложение для просмотра и очистки метаданных в файлах (не только изображениях).
  • Если вы предпочитаете Exiftool, вам может оказаться полезным создание псевдонима для exiftool -all= *.jpg && rm *original, или с опцией -overwrite_original. Чтобы удалить только GPS данные, используйте exiftool -gps:all= -xmp:geotag= *.jpg. Используйте обновленную версию: CVE-2021-22204.
  • Формат WebP: webp пакет предоставляет webpmux команду, которая управляет XMP/EXIF метаданными и ICC профилем.
  • exifprobe/exifgrep: исследует и сообщает структуру и содержание метаданных файлов изображений камеры
  • Для Android? Scrambled Exif, доступно на F-Droid (и Google Play).

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

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

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

Ссылка

Я хотел бы добавить mat2, который поддерживает не только изображения. Он рекомендован сообществом privacyguides.org (ранее известным как privacytools.io).

MAT2 — это бесплатное программное обеспечение, которое позволяет удалять метаданные из файлов изображений, аудио, торрент- и документов. Оно предоставляет как инструмент командной строки, так и графический интерфейс через расширение для Nautilus, стандартного файлового менеджера GNOME.

и

mat2 — это инструмент удаления метаданных, поддерживающий широкий спектр распространенных форматов файлов, написанный на python3: в его основе лежит библиотека, используемая как в одноименном интерфейсе командной строки, так и в нескольких расширениях файлового менеджера.

sudo apt install mat2

Очистка метаданных на месте

mat2 --inplace xxx.mp4
mat2 --inplace xxx.png

Существует множество инструментов для этого, как и другие упоминали. Еще один, который я нашел на своей системе, это exiv2.

  • Установить: sudo apt install exiv2
  • Просмотреть: exiv2 myimage.jpg
  • Удалить: exiv2 rm myimage.jpg

Дополнительные опции перечислены в странице man.


Ответ или решение

Чтение и удаление метаданных (EXIF) из фотографий с помощью командной строки

Работа с метаданными изображений может быть необходима для обеспечения конфиденциальности или просто для управления данными, связанными с вашими фотографиями. В этом руководстве мы рассмотрим несколько инструментов, которые позволяют читать и удалять EXIF-данные из изображений с использованием командной строки.

Установка утилит

Для начала необходимо установить необходимые инструменты. Самыми популярными являются ExifTool, ImageMagick, и MAT2.

  1. ExifTool

    • Установите ExifTool, используя следующую команду:
      sudo apt-get install libimage-exiftool-perl
  2. ImageMagick

    • Установите ImageMagick:
      sudo apt install imagemagick
  3. MAT2

    • Установите MAT2, который поддерживает удаление метаданных из различных типов файлов:
      sudo apt install mat2

Чтение метаданных

Теперь, когда утилиты установлены, мы можем читать метаданные изображений.

  1. ExifTool

    • Для чтения метаданных используйте команду:
      exiftool /путь/к/вашей/фотографии.jpg
  2. ImageMagick

    • Для получения информации о метаданных используйте:
      identify -verbose /путь/к/вашей/фотографии.jpg | grep exif
  3. MAT2

    • Команда для просмотра метаданных будет:
      mat2 /путь/к/вашей/фотографии.jpg

Удаление метаданных

После того, как вы прочитали метаданные, возможно, вы захотите их удалить.

  1. ExifTool

    • Чтобы удалить все метаданные из фотографии, используйте:
      exiftool -all= /путь/к/вашей/фотографии.jpg
    • Если вы хотите переименовать оригинал, добавляя -overwrite_original, вы сможете избежать создания резервной копии:
      exiftool -all= -overwrite_original /путь/к/вашей/фотографии.jpg
  2. ImageMagick

    • Удаление метаданных можно сделать с помощью следующей команды, которая удалит многие типы метаданных:
      mogrify -strip /путь/к/вашей/фотографии.jpg
  3. MAT2

    • Для удаления метаданных из изображения выполните:
      mat2 --inplace /путь/к/вашей/фотографии.jpg
  4. exiv2

    • Установить exiv2:
      sudo apt install exiv2
    • Просмотр метаданных:
      exiv2 /путь/к/вашей/фотографии.jpg
    • Удаление метаданных:
      exiv2 rm /путь/к/вашей/фотографии.jpg

Примечания к использованию

  • Рекомпрессия: Некоторые инструменты, такие как ImageMagick, могут изменять изображение, рекомпрессируя его, что может привести к потере качества. Если это важно, стоит использовать решения, которые не производят рекомпрессию, как jpegtran.
  • Анонизирование: Удаление метаданных не всегда является полным анонизированием. Будьте внимательны, чтобы не оставить в изображении важные данные.
  • Проверка: Рекомендуется после удаления метаданных проверить изображение с помощью тех же инструментов, чтобы убедиться, что данные действительно были удалены.

Заключение

Чтение и удаление EXIF-данных из изображений с помощью командной строки позволяет эффективно управлять конфиденциальностью ваших данных. Используя инструменты, упомянутые выше, вы можете получить контроль над тем, какую информацию вы хотите поделиться. Экспериментируйте с различными утилитами и выбирайте те, которые подходят именно вам!

Оцените материал
Добавить комментарий

Капча загружается...