Content de te revoir.
Comment était-ce difficile?
J'espère que tu ne me détestes pas pour avoir rendu ça un peu difficile, mais ça va être une bonne chose.
Et rappelez-vous, si vous ne l'avez pas compris tout de suite, ce n'est pas grave.
Ça c'est comment qu'on apprends.
Alors agrandissons un peu.
Voilà.
Et commençons par notre première étape, qui consiste à saisir ces deux arguments que nous allons devoir utiliser.
Alors comment pouvons-nous faire cela?
Eh bien, la première chose que nous allons faire, c'est disons chemin, qui est le premier chemin de nos images.
Ou appelons-le simplement.
Image Falder.
Et ce dossier d'images va utiliser sis dot org v, qui sont les arguments et rappelez-vous, l'Arc V est le
premier, qui est le fichier Python.
C'est le deuxième et c'est le troisième.
La façon dont fonctionne la programmation, nous commençons par zéro, puis un, puis deux.
Alors on va dire est-ce que notre V est ici ?
Et puis pour le second, qui est la sortie.
Dossier, ça va être dit dot org v.
Pour cela, j'aime toujours tester ce que nous avons fait parce que nous voulons nous assurer que nos
hypothèses sont correctes, alors imprimons simplement l'image.
Dossier et dossier de sortie.
Et exécutons simplement ce fichier.
Très bien, regardez ça, nous avons Polk IDEX et New, on dirait que cela fonctionne à merveille.
Nous avons donc posé la première question, qu'en est-il de la seconde ?
La seconde consiste à vérifier si ce nouveau dossier existe.
Sinon, nous devons le créer pour pouvoir l'utiliser ici pour mettre des images.
Donc, encore une fois, cela ressemble à une instruction if.
Alors je vais dire si.
Et puis vérifiez si le dossier existe.
Donc, la façon dont nous pouvons le faire est d'utiliser le module OS.
Maintenant, il y a aussi le module de laboratoire PATH qu'il peut utiliser.
Cela dépend entièrement de vous.
Maintenant avec The O. C. , ce que nous pouvons faire, c'est dire, OK, Dot, Pathe dot existe.
Et cela va juste vérifier, hé, cela existe-t-il donc je vais dire le dossier de sortie, cela existe-t-il
?
Voyons donc quel en est le résultat.
Donc, avant même de faire l'instruction if, encore une fois, j'aime tester mon code.
Alors je vais dire.
Si le chemin du système d'exploitation existe.
Ou désolé, au lieu de si nous voulons imprimer, exécutons ceci.
Et on se trompe.
Pourquoi est-ce faux ?
Parce qu'il n'existe pas, donc pour que notre instruction IF fonctionne, nous devons le faire.
Nous devons dire.
Si.
Pas parce que nous voulons obtenir le contraire, n'est-ce pas ?
Donc, si cela n'existe pas, nous voulons le convertir en vrai afin que nous puissions faire quelque chose dans ce bloc, qui
consiste à créer le dossier.
Alors comment pouvons-nous faire cela?
Encore une fois, nous utilisons le module OS et nous utilisons la méthode make Durrs ou make directory et nous lui donnons simplement le
dossier de sortie du répertoire.
Alors, encore une fois, testons notre code et si je l'exécute.
Regardez ça, nous avons le nouveau dossier.
Impressionnant.
Et de cette façon, si j'exécute à nouveau ce code, nous voyons que nous ne créons pas un autre
dossier car pendant que nous vérifions simplement cela et parce que ce dossier existe maintenant, nous n'allons pas dupliquer et créer un autre dossier.
Impressionnant.
Alors étape par étape, nous avançons, et encore une fois, vous vous demandez peut-être.
Attends, André, je n'ai jamais appris à faire des durras, comment faire ?
Et encore une fois, c'est quelque chose que vous avez juste à pratiquer où vous recherchez ce que fait le modèle et vous recherchez sur
Google et c'est ainsi que vous comprenez les choses.
Personne n'a mémorisé les choses en tant que programme.
Ne me déteste pas.
Je t'aide juste à pratiquer ce muscle.
Très bien, dernière partie.
La dernière partie consiste à parcourir les jeux de poker qui récupèrent chaque image, à la convertir et à l'enregistrer dans le
nouveau dossier.
Alors comment pouvons-nous faire cela?
Eh bien, nous faisons une boucle for et nous dirons le nom du fichier.
Et encore une fois, nous utiliserons le répertoire de la liste de points du système d'exploitation.
Et cela va être les éléments du répertoire, donc avec la liste là, ce que nous pouvons faire est simplement de lui donner
le dossier image.
Et puis ici, nous avons maintenant chacun de ces chemins de fichiers.
Maintenant, ici, je peux dire que l'image est égale à l'image point ouvert et que devrions-nous faire ici ?
Parce que rappelez-vous, nous allons l'ouvrir à chaque fois, n'est-ce pas ?
Et ce fichier JPEG en PNG est en dehors de ces dossiers.
Donc, nous devons en quelque sorte ouvrir.
Ces images sur les decks de poker, mais rappelez-vous, nous voulons utiliser quelle que soit l'entrée car l'index de poke de dossier
peut ne pas être toujours le même.
Ainsi, au lieu de saisir le dossier de poche, nous utiliserons simplement une chaîne F.
Et dans cette chaîne de F, je vais dire que nous voulons le.
Image.
Dossier.
Ce qui va nous donner la barre oblique de l'index de poche et la barre oblique ici, car nous supposons que le U. S.
vont entrer la barre oblique.
Nous n'avons pas besoin de l'inclure ici, puis de donner une autre chaîne, qui sera le fichier.
Nom, que nous saisissons d'ici.
Nous ouvrons maintenant ces images, chacune d'entre elles, et nous pouvons ensuite simplement les convertir, n'est-ce pas ?
Alors convertissons-les en disant image dot safe.
Et encore une fois, nous allons utiliser une chaîne F et faire la même chose, mais cette fois pour le dossier de
sortie.
Alors je vais dire.
Dossier de sortie.
Donnez-lui le.
Nom de fichier.
Et puis virgule, puis convertissez-le en PNG.
Et juste pour le plaisir, disons simplement que tout est terminé pour nous faire savoir que chaque fois qu'une image est traitée, nous imprimons
tout est terminé.
Nous allons maintenant essayer d'exécuter ce code.
Il y a en fait un bogue dans ce code que nous allons devoir corriger, mais voyons simplement ce qui se passe.
Alors je vais lancer ça.
Et voilà, nous avons tout fait, tout fait, tout fait, tout fait pour les images, et on dirait que ça a
bien fonctionné.
Jetons un coup d'œil si je vais dans le nouveau dossier ici.
Hmmm, on dirait qu'ils sont encore dans des jetpacks.
C'est étrange.
Pourquoi serait-ce?
Je pensais que nous devrions les convertir, n'est-ce pas ?
Et si ici, la sauvegarde, on faisait un point ?
Donc, encore une fois, réduisons cela un peu plus petit, donc nous disons enregistrez-nous point org et format de fichier PNG si je
lance ceci.
Très bien, regardez ça, nous avons maintenant les images, mais, oh, nous avons JPAC, Dot, PMG, que se passe-t-il ici
?
Eh bien, nous devons nettoyer notre nom correctement.
Alors ce que nous devons faire.
Est-ce que lorsque nous récupérons l'image ouverte, nous devons supprimer le point jpeg de cette image afin que nous puissions l'enregistrer en tant que
P et G.
Alors comment pouvons-nous faire cela?
Et c'est quelque chose que vous avez peut-être eu à Google, car il existe en fait un outil utile que nous pouvons utiliser
avec le module OS qui nous permet de le faire.
Donc, ce que nous pouvons faire, c'est dire propre.
Nom et nous dirons doit Dr. Ruth.
Texte divisé ancré.
Et ce que ça va faire, c'est que ça va diviser le texte pour nous.
Alors laissez-moi vous montrer que je vais dire le nom du fichier.
Et ici, je ne vais rien sauver, je vais commenter ça.
Et je veux juste imprimer un nom propre.
Voyons donc ce que fait le texte divisé.
Je vais effacer ça et courir.
Encore une fois, oh, et j'ai un adolescent supplémentaire ici, il devrait s'agir de texte divisé, alors répétons-le.
Et regardez ça, ça me donne un tuple qui divise le texte entre le nom et l'extension, c'est extrêmement
utile.
Nous avons donc juste besoin de garder cette première partie et nous ne nous soucions pas de cette partie, nous pouvons donc
simplement accéder au nom propre en disant zéro.
Donc le premier élément du tuple.
Alors maintenant, si je reviens à cela et au lieu de finalement, nous utilisons le nom propre pour enregistrer l'image.
Cela devrait fonctionner.
Alors permettez-moi de supprimer certains des commentaires ici, et une autre chose que je veux faire est de supprimer toutes
ces images parce que nous n'en avons plus besoin.
Nous n'avons idéalement que des images PMG.
Je vais donc supprimer ce nouveau dossier.
Alors disons supprimer.
OK, vous pouvez le supprimer.
Voilà.
Je vais économiser.
Et voyons si cela fonctionne maintenant.
Exécutons notre commande.
Tout est fait si on y retourne, hé, regarde ça.
Toutes nos images sont maintenant PMG et vous avez vu à quelle vitesse c'était.
Nous venons de créer notre première conversion JPEG en PNG.
Ce fichier peut maintenant être converti tant que vous lui donnez un dossier avec lequel vous pouvez lui donner
des centaines d'images, des milliers d'images JPEG et il va les convertir en PNG.
Si vous le souhaitez, vous pouvez même les redimensionner.
Vous pouvez même leur ajouter des filtres d'image.
Et nous sommes capables de faire tout cela avec quelques lignes de code Python et quelques bibliothèques utiles.
Très cool.
Maintenant, nous ne faisons qu'effleurer la surface ici, mais vous commencez à voir la puissance de Python.
Nous avons un problème et ce problème peut être résolu avec Python et ses bibliothèques.
Et en faisant juste un peu de recherche sur Google, quelques essais et erreurs et en déboguant notre code, nous venons de créer quelque
chose qui pourrait potentiellement nous faire gagner beaucoup de temps au lieu de le faire manuellement.
Bon travail si vous êtes arrivé jusqu'ici, c'est notre premier projet de traitement d'image, j'espère que vous êtes excité.
Il y a encore beaucoup à couvrir, mais donnez-vous une tape dans le dos et je vous verrai dans la prochaine
vidéo.
Bye Bye.