Come rilevare un'immagine ruotata e rimetterla nella posizione corretta usando Python/OpenCV
Tags Exif - La maggior parte delle immagini scattate con fotocamere moderne (anche quelle dei cellulari) contengono il tag exif Orientation per indicare in che modo l'immagine è orientata.
In Python, fai il checkout di PIL - Python Imaging Library e in particolare del pacchetto PIL.ExifTags. Usalo per leggere il tag Orientation e ruotare l'immagine.
Se usi la riga di comando di Linux, puoi usare exiftool per leggere e modificare i tag exif e convertire (ImageMagick) per ruotare l'immagine.
Dai tag di questa domanda, credo che questa potrebbe non essere la risposta che vuoi. Ma spero che questa sia la risposta di cui hai bisogno/merito. Potrebbe farti risparmiare un sacco di tempo e di energia :P
Alcuni precedenti: Ho avuto un requisito un po' simile. Avevo delle foto di candidati che contestavano le elezioni del Lok Sabha da tutti i distretti del Tamil Nadu. Le foto sono state prese dalla loro domanda alla Commissione elettorale - quindi sono accessibili ai cittadini. Molte delle immagini erano ruotate. Ho dovuto ri-orientare quelle sbagliate.
Ho usato exiftool per stampare il nome del file e il valore del tag Orientation, ho usato grep per filtrare tutti gli orientamenti non standard. Ho usato convert per ruotare e salvare come nuova immagine e ho usato di nuovo exiftool per togliere il tag Orientation dalla nuova immagine. Sfortunatamente, non mi sembra di avere quello script al momento. Se lo trovo lo incollo qui. Credo che si possano fare le stesse operazioni usando PIL anche in Python.
Spero che questo aiuti.
Articoli simili
- Sto inserendo la password corretta, ma Netflix continua a dire che non è corretta su un MacBook. Perché?
- Quali sono alcuni progetti Python e OpenCV per principianti?
- Come impostare la messa a fuoco di una webcam o di qualsiasi altra telecamera usando OpenCV
- Posso usare una scheda SIM attiva per aprire un telefono Verizon e poi rimuovere la scheda SIM e rimetterla nel telefono originale?