Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/05/2018, à 20:12

Compte supprimé

Détecter le sens de prise de vue d'une photo

Bonjour,
Sur la photo ci-dessous, le rocher qui semble couché devrait pointer vers le ciel.
1526065464.jpg

Je reçois assez souvent des lots de photos que je commence par traiter avec un script bash. Il s'agit de renommer et réduire les photos. Cela fonctionne bien.
Mais il arrive aussi que des photos soient prises en orientation verticale et que je les reçoive en orientation horizontale comme l'exemple du dessus.

Je suis à la recherche qu'un critère, peut-être dans les données exif, qui me permettrait de déterminer si je dois aussi faire pivoter la photo ou si ce n'est pas utile. J'ai tenté avec les dimensions hauteur et largeur mais ce  n'est pas distinctif.
D'autre part, l'orientation de prise de vue n'est pas gérée par tous les appareils photos.

#2 Le 12/05/2018, à 04:27

moko138

Re : Détecter le sens de prise de vue d'une photo

À condition que les données exif n'aient pas été réduites
en amont (ni par ton script), tu y trouveras en effet le champ "Orientation".

Ex, 2 photos prises le même jour avec le même appareil et la même carte :
image au format paysage :

exif mon-paysage.JPG | grep Orientation
Orientation         |En haut à gauche

image au format portrait :

exif mon-portrait.JPG | grep Orientation
Orientation         |Left-bottom

(j'ignore pourquoi ce changement de langue).
Left-bottom est à comprendre comme "Mettre la gauche en bas".

Ce qui implique une variante, quand l'appareil est pivoté dans l'autre sens.
Cette variante devrait logiquement s'appeler
     soit Left-top (ou Left-up),
     soit Right-bottom ("Mettre la droite en bas").
Mais... en explorant mes répertoires à l'aide de

exif *.JPG | grep Orientation | grep -Ev "Left|En haut à gauche"

je finis par trouver un :

Orientation         |Right-top

qui est absurde lol   Mais ça fonctionne.



Si tu as installé le paquet imagemagick,
l'option -auto-orient de convert ou de mogrify exploite cette "Orientation" des exifs.
Tu peux l'utiliser sur ce modèle :

convert image.JPG -auto-orient image_orientee.jpg

soit au coup par coup, soit intégrée au début de ton script,
à condition, encore une fois, de l'appliquer avant toute manip susceptible de réduire les exifs.


Si les exifs manquent,
tu dois agir manuellement, et en ce cas :

convert image.JPG -rotate -90 image_orientee.jpg

ou

convert image.JPG -rotate +90 image_orientee.jpg

permettent la correction sans lancer d'appli gourmande.  smile

Dernière modification par moko138 (Le 12/05/2018, à 05:28)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#3 Le 12/05/2018, à 04:40

Watael

Re : Détecter le sens de prise de vue d'une photo

le rocher qui semble couché devrait pointer vers le ciel

mais le rocher pointe bien vers le ciel !
par contre, le ciel devrait être en haut.

OK, je sors. wink


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 12/05/2018, à 07:20

Compte supprimé

Re : Détecter le sens de prise de vue d'une photo

@Watael,
Là tu te surpasses, mais tu aurais pu incriminer la traînée d'avion. Tout le monde sait que les chemtrails peuvent renverser le ciel et plein d'autres choses encore.

@moko138,
Merci pour tes exemples avec tes images. J'ai testé quelques unes de celles que j'ai reçues, le résultat est très différent selon les expéditeurs. Les données exif sont parfois absentes ou peu nombreuses, ou parfois abondantes. Comme je ne peux pas agir sur les expéditeurs, je vais faire avec ce dont je dispose.

Sur cette base, je vais voir comment automatiser ce qui est possible, je continuerai à faire le reste à la main avec XnviewMP avec deux raccourcis clavier : un pour retourner et un pour enregistrer.

EDIT : La photo du rocher couché à une orientation "Horizontal" mais une hauteur supérieure à sa largeur. La commande avec auto-orient en option de convert n'a aucun effet sur elle. Mais si ces deux caractéristiques (orientation et rapport largeur/hauteur) sont présentes et si on a "Vertical" sur une qui n'a pas été couchée, on peut décider de la retourner avec rotate.. A voir si les autres seront aussi dans ce cas.
La suite à la réception du prochain lot de photos.

Dernière modification par Compte supprimé (Le 12/05/2018, à 13:31)

#5 Le 12/05/2018, à 14:40

moko138

Re : Détecter le sens de prise de vue d'une photo

Tamarou a écrit :

EDIT : La photo du rocher couché à une orientation "Horizontal" mais une hauteur supérieure à sa largeur. La commande avec auto-orient en option de convert n'a aucun effet sur elle.

Bien sûr, puisque

bibi a écrit :

l'option -auto-orient de convert ou de mogrify exploite cette "Orientation" des exifs

et seulement cela.

Tamarou a écrit :

Mais si ces deux caractéristiques (orientation et rapport largeur/hauteur) sont présentes et si on a "Vertical" sur une qui n'a pas été couchée, on peut décider de la retourner avec rotate.

Stop ! Ou bien je n'ai rien compris, ou bien tu fais erreur. Car :
- si l'orientation est présente, tu appliques -auto-orient, Point. Pas -rotate !
- tu parles de "largeur/hauteur", mais c'est une interprétation humaine. Les scripts et applis, en l'absence du champ "Orientation", ne connaissent que x et y,  et ne savent pas lequel des deux est la hauteur, quel que soit le rapport x/y.


/!\  Une caractéristique intéressante du résultat de -auto-orient est que l'orientation correcte sera, je ne sais comment (*), conservée ultérieurement, même si on supprime les exifs ! Conservée et reconnue par tous les lecteurs (sauf les plus sommaires) sous tous les S.E.


(*) A moins que n'existe une convention stipulant que, en l'absence du champ "Orientation", x (la 1ère dimension dans les propriétés) doit être considéré comme la largeur, quel que soit x/y.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#6 Le 12/05/2018, à 14:49

moko138

Re : Détecter le sens de prise de vue d'une photo

Si tu veux automatiser autant que possible le traitement par lot, voici comment je vois la chose :

à réception d'un lot d'images,
100)  tu les mets toutes, et seulement elles, dans le répertoire /rep0/.

120)  Tu appliques  -auto-orient  à tout le contenu de /rep0/, avec sortie dans /rep1/.
teste une commande de ce genre :

cd /chemin/vers/rep0 && mogrify -auto-orient -path /chemin/vers//rep1/  *.*  

(Le poids des images, je ne sais pourquoi, augmente de 5% environ.)
Watael ou un autre as du script saura corriger mes fautes de syntaxe  smile

140)  Sépare les images qui ont "Orientation" dans les exif et mets-les dans /rep2/ : celles-là ne poseront pas problème.

160)  Mets les autres dans /rep3/ : celles-là seules nécessiteront un filtrage manuel...
Et là, les difficultés commencent, puisque

200)  la rotation manuelle que tu appliqueras aux images de /rep3/ devra être reconnue par 99% des visionneuses, quel que soit le S.E.
  Heureusement, le sujet a été traité sur un blog au moins, que j'espère te retrouver d'ici deux jours.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#7 Le 12/05/2018, à 15:28

grandtoubab

Re : Détecter le sens de prise de vue d'une photo

Salut
De quoi choper le mal de mer
https://www.impulseadventure.com/photo/ … ation.html
et quand ça devient flipant
https://www.impulseadventure.com/photo/ … t_flag.gif

Dernière modification par grandtoubab (Le 12/05/2018, à 15:28)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#8 Le 12/05/2018, à 15:35

Compte supprimé

Re : Détecter le sens de prise de vue d'une photo

Oui, c'est bien pire que mon ciel couché smile
J'avais vu cela dans mes recherches. C'est un peu à la suite de ces lectures que je vous demande s'il n'y a pas plus simple; d'autant plus que cette donnée n'est pas gérée par tous les appareils et chacun peut avoir sa logique pour décider qui est à l'endroit ou à l'envers, à droite ou à gauche.

Je verrai avec le prochain lot reçu. Je supprime tout après traitement donc je n'ai pas d'archive.

@moko138, merci pour tes recherches. Je te confirme qu'une fois que j'ai redressé une photo avec XnviewMP, elle conserve son orientation. Au pire je continuerai comme cela.

Dernière modification par Compte supprimé (Le 12/05/2018, à 15:36)

#9 Le 12/05/2018, à 16:17

erresse

Re : Détecter le sens de prise de vue d'une photo

Tamarou a écrit :

Je te confirme qu'une fois que j'ai redressé une photo avec XnviewMP, elle conserve son orientation.

mon avis, c'est parce-que XnviewMP a réécrit le fichier modifié, je ne pense pas qu'il inscrive la valeur dans le champ exif orientation.
Les trois cas les plus courants (en tout les spécifications exif en prévoient 8) ont les codes :
- 1 Orientation normale, paysage, indiquée comme "Top-Left" ou "En haut à gauche"
- 8 Orientation à -90°, portrait, indiquée comme "Left-Bottom" (incliner la tête à droite pour voir la photo)
- 6 Orientation à +90°, portrait, indiquée comme "Right-Top" (incliner la tête à gauche pour voir la photo)
Apparemment, la valeur de ce champ est à interpréter en fonction du point de référence de l'image : le début des donnée est à la ligne 0 et colonne 0. Donc :
- lorsque le code est 1, le point de référence 0/0 correspond au début de l'image.
- lorsque le code est 8, le point de référence 0/0 correspond au coin à gauche et en bas de l'image.
- lorsque le code est 6, le point de référence 0/0 correspond au coin à droite et en haut de l'image.
C'est assez nébuleux à concevoir, mais en y réfléchissant intensément, ça finit par faire sens !!!
big_smile


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#10 Le 13/05/2018, à 07:36

moko138

Re : Détecter le sens de prise de vue d'une photo

Tamarou a écrit :

une fois que j'ai redressé une photo avec XnviewMP, elle conserve son orientation. Au pire je continuerai comme cela.

Tamarou,
Peut-être ai-je, depuis le début, compris de travers ton objectif !

Merci de préciser
  si seul t'intéresse l'affichage chez toi,
  ou si (ce que je croyais initialement) tu veux que les photos que tu as traitées s'affichent correctement chez des tiers.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#11 Le 13/05/2018, à 08:02

moko138

Re : Détecter le sens de prise de vue d'une photo

En #4, Tamarou a écrit :

EDIT : La photo du rocher couché à une orientation "Horizontal"

Non.
En #2, je parle clairement, exemples à l'appui, du champ "Orientation" dans les données exif.
Or, la photo du rocher couché, telle que tu l'as postée, n'a pas d'exif a des exif réduits, (cf. message suivant) :

moko@pc:~$ exif /.../tdct_1526065464.jpg
Données corrompues
Les données fournies ne respectent pas les spécifications.
ExifLoader: Les données fournies ne semblent pas contenir de données EXIF.
moko@pc:~$

Dernière modification par moko138 (Le 13/05/2018, à 10:21)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#12 Le 13/05/2018, à 08:48

Nuliel

Re : Détecter le sens de prise de vue d'une photo

Bonjour,

Je sais pas s'il y a une différence avec exiftool:

$ exiftool Téléchargements/test.jpg 
ExifTool Version Number         : 10.10
File Name                       : test.jpg
Directory                       : Téléchargements
File Size                       : 108 kB
File Modification Date/Time     : 2018:05:13 09:47:08+02:00
File Access Date/Time           : 2018:05:13 09:47:08+02:00
File Inode Change Date/Time     : 2018:05:13 09:47:08+02:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Resolution Unit                 : inches
X Resolution                    : 300
Y Resolution                    : 300
Image Width                     : 1198
Image Height                    : 900
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                      : 1198x900
Megapixels                      : 1.1

Personnellement, je vois rien d'utilisable là dedans pour l'orientation.

Dernière modification par Nuliel (Le 13/05/2018, à 08:48)

Hors ligne

#13 Le 13/05/2018, à 10:17

moko138

Re : Détecter le sens de prise de vue d'une photo

exiftool, bien vu, Naziel !

En théorie, on peut en ligne de commande, éditer les Exif,
et donc, peut-être, ajouter la ligne "Orientation" et emplir son dernier champ.

Mais le man d'exiftool ou du chinois, pour moi c'est pareil.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#14 Le 13/05/2018, à 18:56

grandtoubab

Re : Détecter le sens de prise de vue d'une photo

A partir des exemples vu dans https://sno.phy.queensu.ca/~phil/exifto … l_pod.html
orientation de départ

exif IMAG0424.jpg | grep Orient
Orientation         |Top-left

lire un parametre
-n          (--printConv)        No print conversion
-S          (-veryShort)         Very short output format

#  exiftool -Orientation -S -n IMAG0424.jpg
Orientation: 1

modifer

exiftool -Orientation=6 -n IMAG0424.jpg
Warning: [minor] Maker notes could not be parsed - IMAG0424.jpg
    1 image files updated

vérification

exif IMAG0424.jpg | grep Orient
Orientation         |Right-top

creer le tag ça serait ???

exiftool -Orientation+=1

Dernière modification par grandtoubab (Le 13/05/2018, à 19:06)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#15 Le 13/05/2018, à 20:57

moko138

Re : Détecter le sens de prise de vue d'une photo

Bravo grandtoubab !!!
Car, malgré l'absence d'exif,

~/Bureau$ sudo exiftool -Orientation=8 -n tdct_1526065464.jpg
    1 image files updated
moko@pc:~/Bureau$

ceci marche !


Tamarou,
La nouvelle orientation est prise en compte par eog et par geeqie.
Mais pas par feh ni par display... SAUF si après on ajoute :

convert tdct_1526065464.jpg -auto-orient tdct_1526065464_auto.jpg

%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#16 Le 14/05/2018, à 08:12

Compte supprimé

Re : Détecter le sens de prise de vue d'une photo

Bonjour à tous,
Merci pour vos recherches, on y voit plus clair sur ces données exif.

Et oui, sur mon poste Archlinux, j'utilise exiftool, exif n'est pas (ou plus ?) dans les dépôts. C'est pourquoi j'écrivais que mon image a une orientation "Horizontal".

exiftool IMG_1863.JPG | grep Orientation
Orientation                     : Horizontal (normal)

Dans l'attente d'un nouveau lot de photos à traiter, Je vais m'approprier toutes ces informations et demander des précisions si besoin.
Pour répondre à moko138, mon objectif immédiat est de les mettre dans le bon sens pour les charger sur l'album d'un site internet. Mais effectivement, c'est mieux si on arrive à pérenniser la bonne orientation.

A suivre.

#17 Le 14/05/2018, à 08:31

moko138

Re : Détecter le sens de prise de vue d'une photo

Tamarou a écrit :

Pour répondre à moko138, mon objectif immédiat est de les mettre dans le bon sens pour les charger sur l'album d'un site internet. Mais effectivement, c'est mieux si on arrive à pérenniser la bonne orientation.

Donc 1) tu redresses les images par le moyen de ton choix,
2) il faut ensuite appliquer -auto-orient,
3) enfin tu peux appliquer un script d'allègement.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#18 Le 06/06/2019, à 03:38

moko138

Re : Détecter le sens de prise de vue d'une photo

En ./viewtopic.php?pid=22107736#p22107736, rencontré un cas d'abord rétif :
1559772930.jpg


Contre mon attente,

exiftool -Orientation=1 -n touchpad_orig_tdct_1559772930.jpg

ne résout rien !

L'effacement des exifs non plus.

convert -auto-orient non plus !


L'explication est dans le premier fichier :

exiftool -s touchpad_orig_tdct_1559772930.jpg

répond :

Orientation                     : Rotate 270 CW
Software                        : Shotwell 0.22.0
ExifImageWidth                  : 960
ExifImageHeight                 : 720

mais aussi :

ImageWidth                      : 720     # !!!
ImageHeight                     : 960     # !!!

shotwell a fait un truc contradictoire que bien des applications ne comprendront pas.


Une solution :
+ effacer les exif :

mogrify -strip touchpad_orig_tdct_1559772930.jpg

.
+ puis faire la rotation :

convert touchpad_orig_tdct_1559772930.jpg   -rotate -90   imageB.jpg

.
+ puis fixer l'orientation "paysage" :

exiftool -Orientation=1 -n imageB.jpg

.
+ finir par auto-orient :

convert -auto-orient imageB.jpg  imageC.jpg

.

1559787198.jpg

.
Là, je crois que 100% des visionneuses interpréteront correctement imageC et sa miniature.
big_smile

Dernière modification par moko138 (Le 06/06/2019, à 03:49)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#19 Le 06/06/2019, à 08:11

kholo

Re : Détecter le sens de prise de vue d'une photo

bonjour,
merci pour les explications moko
du coup, j'ajoute des infos détaillées quant à l'historique de cette image :
- prise par un tél portable et reçue par SMS,
- importée sur mon Ubuntu,
- je lui met un coup de rotate avec shotwell image viewer en antihoraire
et, content de moi, je la balance en partage...
NB : la miniature sous nautilus est dans le bon sens ce pourquoi j'ai balancé l'image sans chercher plus loin et que je ne me suis rendu compte du "problème" qu'une fois l'image affichée sur tdct...

voici l'image telle que reçue avant d'être tournée par shotwell :
1559802958.jpg

pour faire avancer le schmilblick
les données exif des deux images :

~/Images/rotations images$ exiftool *
======== 20190601_110043_originale.jpg
ExifTool Version Number         : 10.10
File Name                       : 20190601_110043_originale.jpg
Directory                       : .
File Size                       : 81 kB
File Modification Date/Time     : 2019:06:06 08:34:08+02:00
File Access Date/Time           : 2019:06:06 08:34:19+02:00
File Inode Change Date/Time     : 2019:06:06 08:34:19+02:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
Exif Byte Order                 : Big-endian (Motorola, MM)
GPS Latitude Ref                : North
GPS Longitude Ref               : East
JFIF Version                    : 1.01
Resolution Unit                 : None
X Resolution                    : 1
Y Resolution                    : 1
Image Width                     : 720
Image Height                    : 960
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
GPS Latitude                    : 0 deg 0' 0.00" N
GPS Longitude                   : 0 deg 0' 0.00" E
GPS Position                    : 0 deg 0' 0.00" N, 0 deg 0' 0.00" E
Image Size                      : 720x960
Megapixels                      : 0.691
======== 20190601_110043_tournée.jpg
ExifTool Version Number         : 10.10
File Name                       : 20190601_110043_tournée.jpg
Directory                       : .
File Size                       : 83 kB
File Modification Date/Time     : 2019:06:06 00:14:49+02:00
File Access Date/Time           : 2019:06:06 08:30:13+02:00
File Inode Change Date/Time     : 2019:06:06 08:33:22+02:00
File Permissions                : rw-rw-r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Resolution Unit                 : None
X Resolution                    : 1
Y Resolution                    : 1
Exif Byte Order                 : Big-endian (Motorola, MM)
Orientation                     : Rotate 270 CW
Software                        : Shotwell 0.22.0
Exif Image Width                : 960
Exif Image Height               : 720
GPS Latitude Ref                : North
GPS Longitude Ref               : East
XMP Toolkit                     : XMP Core 4.4.0-Exiv2
Image Width                     : 720
Image Height                    : 960
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
GPS Latitude                    : 0 deg 0' 0.00" N
GPS Longitude                   : 0 deg 0' 0.00" E
GPS Position                    : 0 deg 0' 0.00" N, 0 deg 0' 0.00" E
Image Size                      : 720x960
Megapixels                      : 0.691
    2 image files read

on peut y voir les différences apportées par shotwell (qui ferait peut être mieux de s'occuper de ses fesses)
pas envie de me prendre la tête je crée deux fichiers avec les exif et je leur met un coup de diff

diff original.txt tournee.txt

me retourne :

 2c2
< FileName                        : 20190601_110043_originale.jpg
---
> FileName                        : 20190601_110043_tournée.jpg
4,7c4,7
< FileSize                        : 81 kB
< FileModifyDate                  : 2019:06:06 08:34:08+02:00
< FileAccessDate                  : 2019:06:06 08:34:19+02:00
< FileInodeChangeDate             : 2019:06:06 08:34:19+02:00
---
> FileSize                        : 83 kB
> FileModifyDate                  : 2019:06:06 00:14:49+02:00
> FileAccessDate                  : 2019:06:06 08:36:56+02:00
> FileInodeChangeDate             : 2019:06:06 08:33:22+02:00
12,14d11
< ExifByteOrder                   : Big-endian (Motorola, MM)
< GPSLatitudeRef                  : North
< GPSLongitudeRef                 : East
18a16,23
> ExifByteOrder                   : Big-endian (Motorola, MM)
> Orientation                     : Rotate 270 CW
> Software                        : Shotwell 0.22.0
> ExifImageWidth                  : 960
> ExifImageHeight                 : 720
> GPSLatitudeRef                  : North
> GPSLongitudeRef                 : East
> XMPToolkit                      : XMP Core 4.4.0-Exiv2

tout comme les données GPS, je pense que le sens de prise de vue doit être relativement récent.
ça me fait prendre conscience qu'il va falloir réfléchir à ces cas de figure chaque fois que j'utiliserai des scripts ou programmes pour appliquer la rotation sur des images...

Hors ligne

#20 Le 06/06/2019, à 15:00

moko138

Re : Détecter le sens de prise de vue d'une photo

Autre solution, sans effacer les exif :
  Du fichier initial, je fais une copie nommée "orig_1.jpg". Puis

1) Rotation

exiftool -Orientation='Rotate 270' orig_1.jpg
    1 image files updated

.
Comme le nom a été conservé, je renomme le fichier obtenu :

mv orig_1.jpg  orig_1_orientation_Rotate_270.jpg

À présent, exiftool retourne :

exiftool orig_1_orientation_Rotate_270.jpg
ExifTool Version Number         : 8.60
File Name                       : orig_1_orientation_Rotate_270.jpg
File Size                       : 77 kB
File Modification Date/Time     : 2019:06:06 14:36:45+02:00
(...)
Exif Byte Order                 : Big-endian (Motorola, MM)
Orientation                     : Rotate 270 CW
(...)
Image Width                     : 720
Image Height                    : 960
(...)
Image Size                      : 720x960

.
Mais le résultat varie encore avec les visionneuses. Donc,


2) On applique -auto-orient :

convert -auto-orient orig_1_orientation_Rotate_270.jpg  orig_1_orientation_Rotate_270-auto-orient.jpg

.
Et cette fois mes 4 visionneuses produisent un même affichage.  smile
Le nouveau retour d'exiftool :

exiftool orig_1_orientation_Rotate_270-auto-orient.jpg
ExifTool Version Number         : 8.60
File Name                       : orig_1_orientation_Rotate_270-auto-orient.jpg
File Size                       : 76 kB
File Modification Date/Time     : 2019:06:06 14:41:44+02:00
(...)
Exif Byte Order                 : Big-endian (Motorola, MM)
Orientation                     : Horizontal (normal)   # Nouveau
(...)
Image Width                     : 960   # Nouveau
Image Height                    : 720   # Nouveau
(...)
Image Size                      : 960x720   # Nouveau

.

Conclusions
- Quand on désire utiliser "des scripts ou programmes pour appliquer la rotation sur des images", il est clair que shotwell ne produit pas le résultat le plus partageable avec des visionneuses variées.

- Pour les cas délicats, préférer exiftool -s, plus détaillé, à exif.
L'option "-s" permet d'éviter les espaces dans les tags ("YCbCrPositioning " au lieu de "Y Cb Cr Positioning"), ce qui sera indispensable pour éditer leur contenu.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne