Table des matières:

Ajouter du texte aux images avec la commande Linux 'convert' : 3 étapes
Ajouter du texte aux images avec la commande Linux 'convert' : 3 étapes

Vidéo: Ajouter du texte aux images avec la commande Linux 'convert' : 3 étapes

Vidéo: Ajouter du texte aux images avec la commande Linux 'convert' : 3 étapes
Vidéo: Apprendre Docker #2 - Créer ses propres images Docker 2024, Novembre
Anonim
Ajouter du texte aux images avec la commande Linux 'convert'
Ajouter du texte aux images avec la commande Linux 'convert'

Cette instructable vous montrera comment ajouter du texte à une image à l'aide de la commande convert sous Linux. Une utilisation précieuse de ceci est le placement d'une légende sur une image pour la documentation. Une autre utilisation serait de placer un horodatage sur une image qui est générée automatiquement par une webcam. Il existe de nombreuses options de conversion que vous pouvez utiliser pour placer du texte sur l'image. Vous pouvez choisir le point de départ du texte (via une coordonnée hauteur/largeur), la couleur de remplissage du texte, la taille en points du texte et la police utilisée. Cette instructable vous montrera comment faire tout cela. Le principal problème avec cette instructable est que vous devez faire tout cela dans le système d'exploitation Linux. Je ne connais pas d'utilitaire tel que convert dans Microsoft Windows, mais qui fait quelque chose avec une ligne de commande dans Windows ? Cette instructable s'adresse davantage aux utilisateurs de Linux qui souhaitent tirer le meilleur parti de leur ordinateur. Si vous êtes un utilisateur Windows et que vous êtes toujours tenté de lire cette instructable, vous pouvez être tenté de télécharger et d'installer Linux. Je peux écrire un instructable sur la façon de le faire à une date ultérieure, mais si vous souhaitez poursuivre par vous-même, vous pouvez aller sur https://www.ubuntu.com/ et démarrer le processus. Vous pouvez transformer votre ordinateur en une machine à double amorçage (je vous recommande vraiment d'installer un deuxième disque dur sur votre machine - n'importe quelle taille fera l'affaire). BTW, Linux est GRATUIT, avec tout ce qui lui est disponible. De plus, jusqu'à présent, il est invulnérable aux virus.

Étape 1: L'utilitaire Linux « convertir »

Pour effectuer la tâche d'ajouter une étiquette à une image, nous travaillerons entièrement dans une fenêtre de terminal Linux. Windows appelle cela une fenêtre de commande, mais il est rarement utilisé dans Windows, sauf par les anciens qui s'en souviennent depuis l'époque du DOS. Les utilisateurs de Linux en font un usage intensif. Tout d'abord, ouvrez une fenêtre de terminal. Avec Ubuntu Linux, vous le faites en sélectionnant Applications->Terminal. Une fenêtre s'ouvrira avec une invite de ligne de commande. Il vous mettra dans votre répertoire personnel. Supposons que l'image avec laquelle vous voulez jouer se trouve dans un sous-répertoire "images". Pour accéder à ce sous-répertoire, tapez "cd images". Exécutez la commande "ls" pour voir quels fichiers s'y trouvent. Dans mon cas, je veux travailler avec un fichier appelé "sunset1.jpg". Vous voulez également vous assurer que la commande convert est disponible sur votre système. Une façon de le faire est d'émettre la commande "which convert". S'il est disponible, son emplacement sera imprimé à l'écran. Dans mon cas, c'est dans "/usr/bin/convert". Une autre façon de savoir s'il est disponible, lancez simplement la commande "convertir" sur la ligne de commande. Si c'est le cas, une longue description de la commande sera imprimée avec toutes les options disponibles. S'il n'y est pas, vous verrez "convertir: commande non trouvée". Supposons qu'il soit disponible. Si vous exécutez la commande nue "convertir", vous pouvez voir qu'il s'agit d'un outil très puissant doté de nombreuses fonctionnalités. Une description plus complète de la commande convert peut être trouvée à l'adresse:https://linux.about.com/od/commands/l/blcmdl1_convert.htmPour nos besoins, nous souhaitons uniquement utiliser l'argument "-draw" pour écrire la légende à la photo.

Étape 2: Ajout d'une légende

Ajouter une légende
Ajouter une légende
Ajouter une légende
Ajouter une légende
Ajouter une légende
Ajouter une légende

Mon image originale sera un fichier appelé sunset1.jpg. C'est une photo que j'ai prise lors d'un récent voyage en Egypte et en Jordanie (vous pouvez voir toutes les photos sur https://www.datasink.com/egypt2009.shtml). Je garderai l'image d'origine en place et enregistrerai les modifications apportées aux nouveaux noms de fichiers pour des raisons de sécurité. L'image d'origine est une version réduite d'une image beaucoup plus grande qui était une image de 7 mégapixels. J'ai utilisé une autre capacité de la commande « convertir » pour la redimensionner une version plus petite pour cette instructable. Cette image fait 640x480. Cela signifie qu'il fait 640 pixels de large et 480 pixels de haut. Nous utiliserons ces informations pour déterminer où nous voulons placer la légende. Voici une commande qui produit sunset2.jpg: convert -pointsize 20 -fill yellow -draw 'text 270, 460 "Sunset over the Nile" ' sunset1-j.webp

Étape 3: Automatiser l'étiquetage des images

Automatiser l'étiquetage des images
Automatiser l'étiquetage des images

Vous avez vu comment ajouter manuellement une légende à une image à partir de la ligne de commande. Cela fonctionne bien si vous n'avez que quelques photos avec lesquelles travailler, mais cela peut être assez fastidieux de travailler de cette façon. Si vous avez beaucoup d'images à traiter, vous voudrez peut-être utiliser une sorte de langage de script sous Linux. Une possibilité est d'utiliser un script shell. Ce que j'utilise est un langage de script appelé Perl. C'est ce que j'utilise pour toutes sortes de scripts CGI sur le Web. D'autres possibilités sont Java, C++, PHP et Python. Quoi que vous utilisiez, vous devez pouvoir créer une chaîne de ligne de commande et le shell pour l'exécuter. Une façon dont j'utilise ceci est de mettre automatiquement l'horodatage sur une image que ma webcam génère une fois par minute. Dans un script Perl, je formule l'horodatage actuel (date et heure), puis le superpose à l'image actuelle. J'ai aussi mis l'adresse de mon site sur la photo. Vous pouvez voir que l'image ci-jointe a été prise le 2 février à 13h07. J'ai un script sur mon ordinateur qui s'exécute une fois par minute. Il récupère l'image de la webcam, insère le nom et l'horodatage du site Web, puis la télécharge sur mon site Web. Vous POUVEZ voir cela en action sur https://www.datasink.com/webcam.shtml. Je dis "peut" car cela ne se produit que lorsque mon ordinateur est allumé. Je ne le laisse pas allumé pendant la nuit ou quand je suis absent. Si je voulais étiqueter tout un répertoire d'images, je créerais un script Perl pour le faire. Une façon de le faire est de créer un fichier texte contenant la liste complète des images du répertoire, une par ligne. Après le nom de l'image sur chaque ligne serait le texte de la légende. Je créerais une boucle qui prendrait l'étiquette et l'appliquerait à l'image. Bien sûr, il y aurait un problème de centrage horizontal de l'étiquette. Je devrais probablement calculer la largeur réelle de la légende, puis ajuster l'argument horizontal.

Conseillé: