[Tool] Mettre les pages a l'endroit automatiquement (sans perte)

Venez discuter ici des anciennes revues informatiques.

Modérateurs : XavierSnp, Soily, Princeps.Bonus, Fred_G, retro_lover

Répondre
Tigrou
Citizen
Messages : 6
Enregistré le : 04-08-2025 09:44

[Tool] Mettre les pages a l'endroit automatiquement (sans perte)

Message non lu par Tigrou »

Bonjour,

J'ai créé un script Python il y a quelques temps pour mettre a l'endroit les pages d'un magazine automatiquement. L'idée est simple : on fait un OCR d'une page. Puis on la retourne à 180 degrés. Puis on fait de nouveau un OCR et on compare le texte : celui qui ressemble le plus à du français est retenu. Cela fonctionne bien, sur une dizaine de magazines testés (donc plusieurs milliers de pages), seules quelques pages (qui ne contiennent pas ou peu de texte) ne sont pas détectées correctement.

Pour la rotation, le script met à jour l'EXIF du fichier JPEG ce qui évite un ré-encodage et donc une perte due a la re-compression.

Le script est disponible sur cette page :
https://gist.github.com/tigrouind/2f064 ... b45966d014

Le script modifie directement les images donc il convient de faire une sauvegarde avant (même si techniquement cela ne modifie que l'EXIF donc c'est réversible). Je l'ai déjà teste sur Astuces Mania (qui contenait beaucoup de pages a l'envers) et envoyé le résultat a Fred. Le script ne teste que deux orientations (car je n'avait besoin que de ces deux la). Il est possible de tester les 4 en retirant le commentaire des les lignes 38-39 et 42-43 (retirer le charactere # devant chaque ligne).

Voici les instructions :
1. telecharger Python : https://www.python.org/downloads/
2. telecharger tesseract : https://github.com/UB-Mannheim/tesseract/wiki
3. ajouter dans le PATH Windows

Code : Tout sélectionner

C:\Program Files\Tesseract-OCR\

4. lancer le script dans une ligne de commande :

Code : Tout sélectionner

python detect_orientation.py d:\chemin_vers_les_images_dun_magazine\
Si il y a des probleme de module :

Code : Tout sélectionner

pip install nom_du_module

Par example "pip install pytesseract"
Répondre