Journal [pub] trombilinux : un script python pour créer des trombinoscopes

Posté par (page perso) . Licence CC by-sa
14
13
déc.
2017

Bonjour à tous,

Un petit mot pour annoncer la publication de trombilinux, un petit script python qui permet de créer des trombinoscopes, au cas où ça puisse être utile à quelqu'un.

Pourquoi ?

  • parce que je n'ai trouvé aucun logiciel sous Linux permettant de faire ce genre de document à peu prêt automatiquement (mais comme cela a été dit dans un autre journal, j'aurais certainement du vous demander avant de commencer à coder)
  • parce que je me suis dit que c'était dans mes capacités (très restreintes) de programmation, et que c'était intéressant de pratiquer Python

Pourquoi ce nom ?

Parce que je n'avais vraiment aucune idée (n'hésitez pas, je suis preneur :-)).

Un exemple ?

Non désolé, il me faudrait pour cela des photos de gens que je puisse publier mais je n'ai pas le temps d'en chercher.

Comment ça s'utilise ?

Il faut lui donner à manger :

  • un répertoire contenant une photo par personne, qui peut être automatiquement recadrée autour du visage
  • le nom des personnes (soit dans le titre de la photo, soit dans un fichier CSV)

trombilinux produit ensuite normalement un fichier PDF A4 avec 20 photos par page (5 lignes de 4).

Est-ce que ça marche bien ?

Le « normalement » de la dernière phrase est effectivement à détailler :

  • il faut lui passer les bonnes choses à manger (je n'ai presque pas mis en place de gestion d'erreur, je ne sais pas faire « proprement »)
  • la reconnaissance faciale ne marche bien que si les gens sont pris bien de face et que le fond est « simple »
  • si on lui donne trop de photos (plus de ~30), ImageMagick peut se mettre à patauger sacrément, mais bon ça suffit à mon usage
  • je n'ai pas testé sur autre chose que Debian testing

Et la technique ?

Mon bricolage permet de mettre bout à bout de superbes outils (quoique un peu capricieux parfois) :

  • si on lui demande, Willow (une bibliothèque d'imagerie qui tente d'unifier Pillow et OpenCV) découpe les visages
  • ImageMagick crée un trombinoscope au format JPEG (commande montage)
  • ImageMagick convertit assembles ces « pages » et les convertit en PDF (commande convert)
  • GhostScript réduit la taille du PDF en A4 (commande gs, c'est le seul moyen que j'ai trouvé pour garder une qualité d'image correcte)
  • # Exemple

    Posté par (page perso) . Évalué à 2.

    C'est dommage qu'il n'y ait pas d'exemple simple proposé. Certains services permettent de filtrer en fonction des licences. Un exemple:
    https://www.flickr.com/search/?text=faces&license=4%2C5%2C9%2C10

    Je n'ai pas l'usage du script mais cela m'a permis de découvrir Willow. Merci.

  • # Page web

    Posté par (page perso) . Évalué à 2.

    Intéressant ton script. On pourrait je pense l'améliorer.

    Prochaines étapes :

    • générer une page HTML au lieu d'un PDF.
    • rajouter quelques scripts avec Django pour que chacun puisse ajouter sa propre trombine
    • Rajouter un système de commentaires pour chaque trombine..

    Puis trouver un nom au site, du genre… euh… "Livre de visages" ?
    Non pas assez vendeur…
    En anglais, voyons… "Book of Faces" ?
    Non trop long.. Ah tient, "FaceBook" !

    Oh ! Wait

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.