GIMP : détourage par contraste avec un masque de calque

C’est le retour du palmier qui fut le héros de précédents tutoriels, notamment celui du détourage avec l’outil d’extraction de premier plan. Mais cet outil a évolué dans la version 2.10 de GIMP et fonctionne différemment, et pour des résultats qui semblent de moins bonne qualité (à creuser).

Finalement, ne pourrait-on pas se passer d’outil de détourage ? Finalement, c’est le contraste entre le fond et le premier plan qui permet d’isoler ce dernier.

Voici donc une technique originale : le détourage par contraste. Cela consiste à créer un masque de calque initialisé avec une copie du calque en niveaux de gris. Ainsi le calque se masque lui-même. Il ne reste alors qu’à utiliser l’outil Niveaux pour forcer le contraste, pour que le fond devienne noir et le premier plan blanc avec un peu de nuances entre les deux.

Et le résultat s’avère meilleur qu’avec l’outil Extraction de premier plan !

Voici comment faire en vidéo.

Mémo GIMP : configuration et découverte de l’interface

Un nouveau support pour les formations GIMP, un mémo dans la même veine que celui que j’avais produit pour Shotcut il y a quelques mois.

Celui-ci concerne GIMP et pose quelques bases de configuration. Il liste aussi l’ensemble des outils avec un petit descriptif pour chacun. Enfin, une page sur les calques parce que c’est vraiment indispensable.

Le tout mis en page avec Scribus et publié sous licence Creative Commons By-SA 4.0 FR.

Le mémo au format PDF

Les sources pour Scribus 1.5.4

À quoi sert Inkscape ? Épisode 2

Deuxième épisode de « À quoi sert Inkscape » (qui dit deuxième, dit troisième…). Vous pouvez voir ou revoir le premier épisode.

Cette fois-ci encore, quelques exemples simples (faire un engrenage, une bulle de BD, déformer un dessin). Un rapide exemple de comment utiliser l’extension « Numéroter les nœuds » pour faire un dessin à tracer pour vos enfants.

Puis quelques dessins un peu plus évolués :

  • jouer avec le texte en créant des clones

Jouer avec le texte et les clones avec Inkscape

  • dessiner un chapiteau

Dessiner un chapiteau avec Inkscape

  • dessiner et propager de l’herbe grâce à l’outil Spray

Dessiner de l'herbe avec Inkscape

La vidéo :

À quoi sert Inkscape ?

À quoi sert Inkscape

Inkscape est le logiciel libre de dessin vectoriel le plus connu, le plus utilisé. Mais il souffre de quelques défauts d’ordre, disons, psychologique que je vais tenter d’endiguer ici.

À commencer par son nom. Dans le monde du logiciel libre, nous ne sommes pas toujours doués pour trouver des noms qui aient une réelle puissance marketing. N’y voyez pas un reproche, la puissance marketing ne fait pas la qualité du logiciel et Inkscape est un logiciel de grande qualité ! Son nom donc, est difficile à prononcer et difficile à écrire sans se tromper. Il est la contraction de ink qui veut dire encre et de scape qui peut se traduire par paysage ou hampe (en horticulture, la hampe désigne la tige d’une fleur, en écriture, la hampe désigne le trait vertical formant certaines consonnes).

Ensuite, son usage. Le dessin vectoriel n’est pas quelque chose de très intuitif et peut même faire peur en ravivant de douloureux souvenirs de cours de mathématique. Oui, une image vectorielle est constituée de coordonnées, de courbes, d’équations de toutes sortes. Si vous voulez vous faire peur, vous pouvez ouvrir une image vectorielle dans Inkscape et ouvrir l’éditeur XML qui vous montre les coulisses (Édition > Éditeur XML). Mais heureusement, Inkscape ne nous montre que le rendu d’images vectorielles, c’est nettement plus sympathique et suffit à la plupart des usages.

À cette inquiétude de savoir s’il est utile ou non de suivre une journée de formation sur Inkscape, j’ai répondu par une petite vidéo, intitulée « À quoi sert Inkscape ? » et qui montre quelques exemples assez basiques de ce que l’on peut faire avec. Cette vidéo pourrait être le premier épisode d’une série de vidéos sur le même format, avec d’autres exemples, d’autres logiciels, voire des interactions entre logiciels.

Mémo Shotcut : débuter dans le montage vidéo

mémo Shotcut

Le 31 mai dernier, j’animais ma première formation dédiée au montage vidéo avec le logiciel libre Shotcut. J’ai donc produit un mémo Shotcut pour synthétiser les bases avec un peu de théorie sur la vidéo en général.

C’est sommaire, c’est une version 0.1, comme on dit quand on met à disposition la première mouture d’un logiciel. Ça ne demande qu’à être amélioré.

Et prochainement je publierai des articles et vidéo sur le montage vidéo et Shotcut en particulier. Shotcut n’est pas le meilleur logiciel de montage vidéo, mais il est simple, multi-plateforme et vous permet de démarrer facilement. Nul doute qu’avec un peu de pratique vous aurez envie de faire plus de choses et de vous tourner vers Kdenlive ou Blender.

Enfin, un grand merci à l’Urfist de Lyon qui m’a fait confiance pour l’animation de cette formation !

Voici à nouveau le lien pour télécharger le mémo Shotcut (au cas où vous l’auriez raté plus haut).

GIMP : rendre transparent le fond uni d’une image

gimp-rendre-transparent-le-fond-uni

Je le remarque, les articles sur le détourage d’images avec GIMP remporte un certain succès. Voici cette fois une reprise améliorée d’un article que j’avais écrit dans Linux Pratique il y a quelques années : rendre transparent le fond uni d’une image.

Le problème

Cela peut être un dessin réalisé à la main puis scanné, ou à la tablette graphique. Cela peut également être une photo réalisée sur fond uni (dans un studio photo par exemple). Prenons par exemple cette photo de framboises sur fond blanc. Photo de José Carlos Casimiro sous licence CC By 2.0.

Le premier réflexe serait sans doute d’utiliser l’outil Sélection contiguë (ou baguette magique pour conserver une analogie photoshopienne), mais, les bords étant flous par endroits, cela risque de demander pas mal de temps de nettoyage.

Comment faire

Masquer la photo avec elle-même

Utilisons plutôt la photo elle-même comme élément de découpe : en effet, le contraste entre le fond blanc et le sujet coloré est suffisamment prononcé. Depuis le calque contenant la photo (le seul pour l’instant), ajoutez un masque de calque. Initialisez-le avec la copie du calque en niveaux de gris. Pensez à inverser le masque. Si vous oubliez, vous pourrez inverser les couleurs du masque à postériori via le menu Couleurs > Inverser.

Ajouter un masque de calque

Important ! Nous avons désormais deux entités : le calque et le masque. Dans la fenêtre des calques, repérez bien laquelle des deux est active, sa vignette est entourée d’un contour blanc. En effet, dans la suite de ce tutoriel, nous allons travailler uniquement sur le masque, sans toucher au calque, veuillez à bien faire attention à ce que vous modifiez ! En cas d’erreur, pas de panique, il y a Ctrl-Z.

Forcer le contraste du masque

Toutefois le maque résultant n’est pas assez contrasté. Affichez le masque pour voir plus clairement ce que vous faites (clic-droit sur la vignette du calque dans la fenêtre des calques puis cochez Afficher le masque ou Alt+clic sur la vignette du masque).

Prenez ensuite l’outil Niveaux. Les teintes sont réparties en deux blocs (à gauche les teintes sombres, à droite les claires) bien distincts ce qui reflète un bon contraste. Rapprochez les deux points noir et blanc (curseurs triangulaires) l’un de l’autre pour qu’ils n’encadrent plus que la zone centrale qui ne contient que peu de données (peu de nuances, juste ce qu’il nous faut).

Forcez le contraste avec l'outil Niveaux

Supprimer les tâches sombres

Il reste quelques tâches (des trous en réalité) qui correspondent à des pixels trop clairs pour être suffisamment contrastés par rapport au fond. Néanmoins, ces pixels doivent apparaître dans l’image finale, donc, vous devez les recouvrir de blanc dans le masque. Selon le nombre et la granularité de ces tâches vous pouvez les gommer grâce à une sélection ou directement au pinceau.

Ici je commence par une sélection contiguë : elle révèle une grosse quantité de petits trous. En utilisant une technique de morphologie mathématique (j’agrandis la sélection puis je la réduis d’autant) je supprime tous les petits trous. Il ne reste que les gros à effacer au pinceau.

Exporter cette nouvelle image

Le plus gros est fait. Il ne reste qu’à exporter l’image au format PNG, format qui préserve la transparence et qui ne dénature pas votre image (tout le contraire du format Jpeg).

Scribus : importer un tableau au format CSV

scribus importer un tableau eu format csv

On ne peut pas dire que les tableaux soient bien gérés dans Scribus, on pourrait même dire que c’est une plaie. Quant à importer un tableau depuis un tableur, ce n’est simplement pas à l’ordre du jour…

Une gestion insatisfaisante

Actuellement (version 1.4) un tableau n’est autre qu’un groupe de cadres de texte. Une fois créé, vous ne pouvez ajuster la taille des lignes et des colonnes, vous ne pouvez appliquer de style sur les cellules. La saisie dans une cellule est rendue complexe par le groupe : il faut double-cliquer en pressant la touche Alt pour modifier le contenu d’une cellule.

La version 1.5 (version de développement de la future version stable) propose un nouvel outil de création de tableaux. Il y a même la possibilité d’appliquer des styles sur les cellules et le tableau, mais le peu de paramètres disponibles actuellement rend cette fonction inutile. De toute manière, toujours pas de possibilité d’importer un tableau, il faut le rédiger dans Scribus.

On trouve des tutoriels évoquant la possibilité d’exporter un tableau sous forme d’image vectorielle depuis un tableur comme LibreOffice Calc. Mais le tableau ainsi inséré n’est pas modifiable, y compris au niveau du style. De plus, impossible d’insérer un tableau qui s’étendrait sur plusieurs pages.

Prendre le taureau par les cornes

J’ai donc tenté de résoudre ce problème en vue d’une formation avec des archéologues, qui insèrent de longs tableaux dans leurs rapports. Je suis parti du script importcsv2table.py fourni avec Scribus qui permet d’importer un tableau au format CSV. Le comportement de ce dernier ne me convenait pas et les questions posées étaient trop simplistes. Par exemple, il ne demande pas le caractère de séparation, ce qui est la base du format CSV.

Le format CSV (pour Comma-separated values) permet de représenter un tableau sous forme de valeurs séparées par des virgules (ou d’autres caractères, absents des valeurs). Chaque ligne du texte correspond à une ligne du tableau et les virgules correspondent aux séparations entre les colonnes.

Le script ainsi produit peut être téléchargé ici : importcsv2table.py. Vous devrez ensuite le copier dans un dossier où vous rangez vos scripts pour Scribus : dans votre profil Scribus vous avez un sous-dossier plugins. Ce n’est qu’un exemple, vous pouvez en choisir un autre, du moment que vous le déclarez dans les préférences de Scribus.

Pour le tutoriel vidéo présenté ci-dessous, j’ai utilisé un grand tableau de données issues du site Etalab qui recense les lieux de tournages de films dans Paris. Je l’ai un peu épuré et n’ai gardé que 7 colonnes et 139 lignes, mais ce n’est qu’un exemple, je voulais un tableau avec beaucoup de lignes.

Voici comment l’utiliser en vidéo.

Préparation

  • Créez un nouveau document avec suffisamment de pages pour accueillir votre tableau (cela peut être ajusté par la suite).
  • Allez dans les Préférences pour déclarer le chemin des plugins. C’est là que vous avez copié le script, il sera ainsi plus facile à retrouver depuis Scribus.
  • Créez un cadre de texte occupant tout l’espace que vous voulez allouer à votre tableau sur la première page.
  • Certaines propriétés de ce cadre seront utilisées pour les cellules (constituées elles-mêmes de cadre de texte)
    • la largeur et la hauteur ;
    • la couleur du filet ;
    • l’épaisseur du filet ;
    • les espaces sur les quatre côtés intérieurs (rembourrage ou padding pour les habitués des feuilles de styles CSS).
  • Assurez-vous que le cadre de texte est bien sélectionné et appelez le script via Script → Démarrer un script.

Utilisez le script

S’ensuit une série de questions (je compte regrouper toutes ces fenêtres en une seule à terme).

  • Choisissez le fichier CSV à importer.
  • Indiquez quel est le délimiteur de colonnes (évitez d’avoir la tabulation comme délimiteur).
  • Indiquez la largeur de chaque colonne : cette fenêtre vous indique combien de colonnes comporte votre tableau ; vous devez donc avoir le même nombre de chiffres. Chaque colonne est représentée par un nombre qui indique la part de largeur qu’elle occupera : ainsi, une colonne identifiée par un 3 sera trois fois plus large qu’une colonne identifiée par un 1. La largeur totale du tableau est celle du cadre de texte initial.
  • Si la première ligne de votre tableau est une ligne de titre, elle sera traitée différemment. Pour l’instant, elle n’est juste pas comptabilisée dans la hauteur totale et une place sera réservée pour elle sur chaque page où s’étend le tableau. On peut imaginer à l’avenir qu’elle aura un style particulier et qu’elle sera automatiquement reproduite sur chaque page.
  • La hauteur des cellules est difficile à appréhender tant que vous n’avez pas défini le style de paragraphe des cellules ni vu le résultat. Laissez cette valeur et ajustez-la à la suite de plusieurs essais. Lorsque le nombre de lignes multiplié par la hauteur de chacun dépasse la hauteur du cadre texte initial (donc limitant), un décalage se produira pour bien séparer visuellement les lignes.
  • Choisissez un style de paragraphe pour le contenu des cellules. Cette fenêtre vous affiche les styles existants. Vous pouvez en recopier un ou donner un nouveau nom. Dans ce cas, un nouveau style sera créé.

Patientez, le script travaille.

Affinez

  • Une fois que le script a fini son travail, vous pouvez constater que chaque ligne est un groupe de cadres de texte (ouvrez la fenêtre Plan du document pour vous en convaincre). Vous pouvez donc déplacer une ligne facilement.
  • Allez dans l’éditeur de styles pour modifier le style nouvellement créé. Vos modifications s’appliquent à l’ensemble des cellules !

Traitez les autres pages

  • Allez sur la page suivante.
  • Sélectionnez toutes les lignes et les grouper.
  • Revenez sur la première page et copier la ligne de titre.
  • Retournez sur la page en cours de traitement et coller la ligne de titre.
  • Sélectionnez les deux éléments (ligne de titre et le groupe des autres lignes)
  • À l’aide de la fenêtre Espacer et aligner, faites coïncider le haut du groupe de lignes avec le bas de la ligne de titre.
  • Recommencez pour les autres pages.

Certes, ce n’est pas encore aussi facile que dans d’autres logiciels, mais ce script permet de faire le travail proprement. À noter qu’il fonctionne toujours dans Scribus 1.5 .Malheureusement, il n’est toujours pas possible d’utiliser les nouveaux tableaux dans un script Python, je lance donc un appel du pied !

Inkscape : dessiner une flèche pour indiquer le nord

Lors d’une formation récente (GIMP, Inkscape et Scribus) auprès d’archéologues je leur ai montré comment dessiner une flèche d’orientation indiquant le nord. En effet, ils en ont l’usage sur leurs plan et cela constitue un bon exercice pour découvrir certains fonctions de base d’Inkscape.

Voici donc une vidéo montrant comment réaliser une telle flèche, de manière rigoureuse, c’est-à-dire, parfaitement symétrique. Vous y apprendrez comment :

  • transformer un rectangle en chemin
  • ajouter des nœuds à ce chemin
  • en supprimer et rendre les nœuds à nouveau durs (pour des segments sans courbures)
  • aimanter le milieu d’un segment sur un guide
  • convertir le contour d’un chemin en un nouveau chemin