Jak mogę odczytać i usunąć metadane (exif) z moich zdjęć za pomocą wiersza poleceń?

Odpowiedzi:

79

Zainstaluj exiftool:

sudo apt-get install libimage-exiftool-perl

Aby odczytać metadane zdjęcia:

exiftool /tmp/my_photo.jpg

Aby usunąć metadane zdjęcia:

exiftool -all= /tmp/my_photo.jpg

Przed:

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

Po:

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

Bibliografia:

klenwell
źródło
1
Aby przetworzyć wszystkie pliki w bieżącym katalogu: for f in *.jpg; do exiftool -all= "$f"; done
twobeers
6
lub po prostuexiftool *.jpg
gavenkoa
15

Imagemagick

Zamiast Exiftool do obsługi metadanych Exif uznałem, że jest bardziej przydatny i łatwiej zapamiętać polecenia za pomocą Imagemagick :

Czytać

identify -verbose image.jpg | grep exif

Usuwać

Z imagemagickzainstalowanym pakietem możesz to zrobić ( nie tylko w przypadku plików JPEG ):

mogrify -strip *.jpg

Z instrukcji :

-rozebrać się

usuń obraz jakichkolwiek profili, komentarzy lub tych fragmentów PNG: bKGD, cHRM, EXIF, gAMA, iCCP, iTXt, sRGB, tEXt, zCCP, zTXt, data.

AFAIK jedyną różnicą jest to, że mogrifynie usunie tych metadanych:

  • Wersja JFIF
  • Jednostka rozdzielczości
  • Rozdzielczość X
  • Rozdzielczość Y

Co może być przydatne. W porównaniu zdiff -y <(exiftool wMogrify.jpg) <(exiftool wExiftool.jpg)

Usuń dane EXIF! = Anonimizuj : -stripponownie skompresuje obraz . To może być dobra rzecz : to samo oprogramowanie, które robi zdjęcie, może ukrywać dane na obrazie ( steganografia ). Nie jestem pewien, czy rekompresja zawsze usunie wszystko (prawdopodobnie nie). Aby uniknąć ponownej kompresji, możesz użyć jpegtran :

jpegtran -copy none image.jpg > newimage.jpg

Ponadto, aby uniknąć utraty profilu kolorów ( ICC , co powoduje bogatsze kolory [potrzebne źródło] ):

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

Możesz zadać sobie pytanie, czy koszty te są zauważalne lub istotne w twoim przypadku.

Kolejnym narzędziem dotyczącym steganografii na obrazach jest steghide .


Zobacz też

Pablo A.
źródło
Zauważ jednak, że wydaje się, że ponownie kompresuje obraz: stackoverflow.com/questions/2654281/...
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
1
@CiroSantilli 新疆 改造 中心 996ICU 六四 事件 Zredagowałem odpowiedź. To może być dobre, aby usunąć metadane zakodowane na obrazie. Byłoby wspaniale mieć badania na poparcie tego.
Pablo A
Tak, zauważyłem to, ponieważ rozmiar obrazu znacznie się zmienił, ale muszą istnieć lepsze sposoby, przynajmniej w 2010 roku twórcy ImageMagick to potwierdzili: stackoverflow.com/questions/2654281/...
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
6

Aby usunąć, a następnie zmienić pojedyncze pole, możemy użyć tego polecenia:

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

Odniesienie

Andre Petkova
źródło