Ce contenu est fourni sous licence CC BY-NC-SA 4.0
Notes sur la commande identify d’ImageMagick
Introduction
identify d’ImageMagick permet de récupérer des informations sur des images. Il va très loin car il peut récupérer les méta-datas techniques d’une image. Il peut donner aussi des informations sur les images d’une vidéo mais c’est moins pertinent.
Principe de fonctionnement
identify [Option] Fichier_image
Cas simple
cedric@portable:~$ identify image.png
image.png PNG 1366x768 1366x768+0+0 8-bit sRGB 1.281MB 0.000u 0:00.000
cedric@portable:~$ identify image.jpg
image.jpg JPEG 1366x768 1366x768+0+0 8-bit Grayscale Gray 256c 168KB 0.000u 0:00.000
On constater que identify affiche :
- le nom du fichier
- son type (ici: PNG pour la première puis JPEG)
- ses dimensions
- l’espace de couleurs (sRGB, niveaux de gris dans les 2 examples ci-dessus)
- la taille du fichier
- …
Il est possible de demander plus d’informations ou d’avoir uniquement les informations que l’on veut.
Obtenir plus d’informations
# utilisation de -verbose pour obtenir toutes les informations :
cedric@portable:~$ identify -verbose image.jpg
Image: classe_GERE_N2_Rec709Luma.jpg
Format: JPEG (Joint Photographic Experts Group JFIF format)
Mime type: image/jpeg
Class: PseudoClass
Geometry: 1366x768+0+0
Resolution: 37x37
Print size: 36.9189x20.7568
Units: PixelsPerCentimeter
Type: Grayscale
Endianess: Undefined
Colorspace: Gray
Depth: 8-bit
Channel depth:
gray: 8-bit
Channel statistics:
Pixels: 1049088
Gray:
min: 0 (0)
max: 252 (0.988235)
mean: 156.695 (0.614488)
standard deviation: 97.7887 (0.383485)
kurtosis: -1.0666
skewness: -0.913608
entropy: 0.670481
Colors: 253
Histogram:
269929: ( 0, 0, 0) #000000 gray(0)
...
...
...
Colormap entries: 256
Colormap:
0: ( 0, 0, 0) #000000 gray(0)
...
...
Rendering intent: Undefined
Gamma: 0.454545
Background color: gray(255)
Border color: gray(223)
Matte color: gray(189)
Transparent color: gray(0)
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 1366x768+0+0
Dispose: Undefined
Iterations: 0
Compression: JPEG
Quality: 92
Orientation: Undefined
Properties:
date:create: 2020-01-03T17:52:19+01:00
date:modify: 2020-01-03T17:52:19+01:00
jpeg:colorspace: 1
jpeg:sampling-factor: 1x1
signature: a61e382437b75eddd03b8640206b9a65f314d3b353259ff284101b18678cd5b7
Artifacts:
filename: classe_GERE_N2_Rec709Luma.jpg
verbose: true
Tainted: False
Filesize: 168KB
Number pixels: 1.049M
Pixels per second: 52.45MB
User time: 0.030u
Elapsed time: 0:01.019
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
Remarque :
- on voit à la dernière ligne que c’est ImageMagick lui-même qui a été utilisé pour créer ce fichier
- les lignes où il y a “…” sont coupées. En effet, les parties “Histogram” et “Colormap” sont très longues et j’ai donc coupé pour faciliter la lecture
- on a énormément d’informations !
Choisir les informations que l’on souhaite voir afficher
Il n’est pas simple d’analyser la sortie “standard” de identify et de s’en servir dans un script, surtout lorsque l’on passe l’option -verbose. La command identify vient avec une option de sélection et de formattage de la sortie pour qu’il soit plus simple de lire le résultat. Exemples :
cedric@portable:~$ identify -format "%[colorspace]\n" image.jpg
Gray
cedric@portable:~$ identify -format "%[colorspace]\n" image.png
sRGB
cedric@portable:~$ identify -format "%[width] %[height]\n" image.png
1366 768
cedric@portable:~$ identify -format "%[width]\n%[height]\n" image.png
1366
768
cedric@portable:~$ identify -format "%[width]x%[height]\n" image.jpg
1366x768
cedric@portable:~$ identify -format "%[size]\n" image.jpg
168KB
Ça se sont les “options longues”. Il est possible d’utiliser des options courtes (exemple : %w pour width) mais à titre personnel, je préfère toujours les options longues quand elles sont disponibles.
La liste de toutes les options est disponible sur la page dédiée d’ImageMagick.
Ce contenu est fourni sous licence CC BY-NC-SA 4.0