Welkom terug.
Hoe was het, was het zwaar?
Ik hoop dat je me niet haat omdat ik het een beetje moeilijk heb gemaakt, maar het komt goed.
En onthoud, als je het niet meteen snapt, is dat niet erg.
Zo leren we.
Dus laten we dit een beetje groter maken.
Daar ga je.
En begin met onze eerste stap, namelijk het grijpen van deze twee argumenten die we zullen moeten gebruiken.
Dus hoe kunnen we dit doen?
Welnu, het eerste wat we gaan doen is, laten we zeggen pad, wat het eerste pad van onze afbeeldingen is.
Of laten we het gewoon noemen.
Afbeelding Falder.
En deze afbeeldingsmap gaat sis dot org v gebruiken, wat de argumenten zijn en onthoud, de Arc V is dit
de eerste, wat het Python-bestand is.
Dit is de tweede en dit is de derde.
Zoals programmeren werkt, beginnen we met nul, dan één, dan twee.
Dus we gaan zeggen is onze V één hier?
En dan voor de tweede, dat is de output.
Folder, het wordt zegt dot org v.
Daarom vind ik het altijd leuk om te testen wat we hebben gedaan, omdat we er zeker van willen zijn dat onze aannames
correct zijn, dus laten we gewoon de afbeelding afdrukken.
Map en uitvoermap.
En laten we dit bestand gewoon uitvoeren.
Oké, kijk eens aan, we hebben Polk IDEX en New, het lijkt erop dat dit geweldig werkt.
Dus we hebben de eerste vraag gesteld, hoe zit het met de tweede?
De tweede is om te controleren of deze nieuwe map bestaat.
Als dat niet het geval is, moeten we het maken, zodat we het hier kunnen gebruiken om afbeeldingen te plaatsen.
Dus nogmaals, dit klinkt als een if-statement.
Dus ik ga zeggen als.
En controleer vervolgens of de map bestaat.
Dus de manier waarop we dat kunnen doen, is door de OS-module te gebruiken.
Nu is er ook de PATH-labmodule die hij kan gebruiken.
Het is helemaal aan jou.
Nu met de O C. , wat we kunnen doen is zeggen, OK, Dot, Pathe dot bestaat.
En dit gaat gewoon controleren, hey, bestaat dit, dus ik ga zeggen uitvoermap, bestaat
dit?
Dus laten we eens kijken wat de output hiervan is.
Dus voordat ik zelfs maar de if-instructie doe, vind ik het leuk om mijn code te testen.
Dus ik ga zeggen.
Als het OS-pad bestaat.
Of sorry, laten we dit doen in plaats van als we afdrukken willen.
En we worden vals.
Waarom is het vals?
Omdat het niet bestaat, dus om ons IF-statement te laten werken, moeten we dit doen.
We moeten zeggen.
Als.
Niet omdat we het tegenovergestelde willen, toch?
Dus als dit niet bestaat, dan willen we dit omzetten naar waar, zodat we iets binnen dit blok kunnen
doen, namelijk de map maken.
Dus hoe kunnen we dat doen?
Nogmaals, we gebruiken de OS-module en we gebruiken de make Durrs of make directory-methode en we geven
het gewoon de directory-uitvoermap.
Dus nogmaals, laten we onze code testen en als ik dit uitvoer.
Kijk eens aan, we hebben de nieuwe map.
Geweldig.
En op deze manier, als ik deze code opnieuw uitvoer, zien we dat we geen nieuwe map maken,
want terwijl we dit gewoon controleren en omdat deze map nu bestaat, gaan we niet dupliceren en een andere map maken.
Geweldig.
Dus stap voor stap boeken we vooruitgang, en nogmaals, vraag je je misschien af.
Wacht even, Andre, ik heb nooit geleerd hoe je durras maakt, hoe doe ik dat?
En nogmaals, dit is iets dat je gewoon moet oefenen, waar je opzoekt wat het model doet en je Google rond
en dit is hoe je dingen uitzoekt.
Niemand heeft dingen onthouden als een programma.
Haat me niet.
Ik help je alleen die spier te oefenen.
Goed, laatste deel.
Het laatste deel is om door de pokerdecks te lopen die elke afbeelding pakken en converteren en opslaan in de
nieuwe map.
Dus hoe kunnen we dat doen?
We doen een for-lus en zeggen de bestandsnaam in.
En nogmaals, we gebruiken de OS-dotlist-directory.
En dit zullen de items in de directory zijn, dus met de lijst daar, kunnen we het gewoon de
afbeeldingsmap geven.
En hier hebben we nu elk van deze bestandspaden.
Nu, hierbinnen, kan ik zeggen dat afbeelding gelijk is aan afbeeldingspunt open en wat moeten we hier doen?
Want onthoud, we gaan dit elke keer openen, toch?
En dit bestand JPEG naar PNG bevindt zich buiten deze mappen.
Dus we moeten op de een of andere manier opengaan.
Deze afbeeldingen bij de pokerdecks, maar onthoud dat we de invoer willen gebruiken, omdat de
mappoke-index niet altijd hetzelfde is.
Dus in plaats van de zakmap te pakken, gebruiken we gewoon een F-tekenreeks.
En binnen deze F-snaar ga ik zeggen dat we de.
Afbeelding.
Map.
Dat geeft ons de schuine streep in de zakindex en de schuine streep hier, omdat we aannemen dat de U. S.
gaan de schuine streep invoeren.
We hoeven het hier niet op te nemen en dan een andere string te geven, die het bestand zal zijn.
Naam, die we hier vandaan halen.
Dus we openen nu deze afbeeldingen, elk van hen, en dan kunnen we ze gewoon converteren, toch?
Dus laten we ze converteren door image dot safe te zeggen.
En nogmaals, we gaan een F-tekenreeks gebruiken en hetzelfde doen, maar deze keer voor de
uitvoermap.
Dus ik ga zeggen.
Uitvoer map.
Geef het de.
Bestandsnaam.
En dan komma en converteer het dan naar PNG.
En gewoon voor de lol, laten we zeggen dat alles klaar is om ons te laten weten dat elke keer dat een afbeelding wordt verwerkt, we helemaal klaar
zijn met afdrukken.
Nu gaan we proberen deze code uit te voeren.
Er zit een fout in deze code die we moeten oplossen, maar laten we eens kijken wat er gebeurt.
Dus ik ga dit uitvoeren.
En daar gaan we, we hebben allemaal gedaan, allemaal gedaan, allemaal gedaan, allemaal gedaan voor afbeeldingen, en het lijkt erop dat het
goed werkte.
Eens kijken of ik hier naar de nieuwe map ga.
Hmmm, het lijkt erop dat deze nog in jetpacks zitten.
Dat is raar.
Waarom zou dat zijn?
Ik dacht dat we deze moesten omzetten, toch?
Wel, wat als we hier binnen, de redding, een stip doen?
Dus, nogmaals, laten we dit een beetje kleiner maken, dus we zullen zeggen: sla ons punt-org op en bestandsformaat PNG als ik
dit uitvoer.
Oké, kijk daar eens naar, we hebben nu de beelden, maar, oh, we hebben JPAC, Dot, PMG, wat is hier aan de
hand?
Wel, we moeten onze naam goed schoonmaken.
Dus wat we moeten doen.
Als we de afbeelding openen, moeten we de punt-jpeg van die afbeelding verwijderen, zodat we deze kunnen opslaan als een P
en G.
Dus hoe kunnen we dat doen?
En dat is iets dat je misschien met Google hebt gehad, want er is eigenlijk een handige tool die we kunnen
gebruiken met de OS-module waarmee we dit kunnen doen.
Dus wat we kunnen doen, is dat we schoon kunnen zeggen.
Naam en we zullen zeggen dat we Dr. Ruth.
Gedockte gesplitste tekst.
Dit gaat de tekst voor ons splitsen.
Dus laat me je laten zien dat ik de bestandsnaam ga zeggen.
En hierbinnen, ik ga niets opslaan, ik ga hier commentaar op geven.
En ik wil gewoon een schone naam afdrukken.
Dus laten we eens kijken wat gesplitste tekst doet.
Ik ga dit opruimen en rennen.
Nogmaals, oh, en ik heb een extra tiener hier, het zou gesplitste tekst moeten zijn, dus laten we dat nog een keer zeggen.
En kijk eens aan, het geeft me een tuple die de tekst splitst tussen de naam en de extensie, dat is buitengewoon
handig.
Dus we hoeven alleen dit eerste deel te behouden en we geven niet om dit deel, dus we kunnen gewoon toegang krijgen
tot de schone naam door nul te zeggen.
Dus het eerste item in de tupel.
Dus nu, als ik hierop terugga en in plaats van uiteindelijk de schone naam te gebruiken om de afbeelding op te slaan.
Dit zou moeten werken.
Dus laat me enkele opmerkingen hier verwijderen, en nog iets dat ik wil doen, is dat ik al deze afbeeldingen
wil verwijderen omdat we ze niet meer nodig hebben.
We hebben idealiter alleen PMG-afbeeldingen.
Dus ik ga deze nieuwe map daadwerkelijk verwijderen.
Dus laten we zeggen verwijderen.
Oké, je kunt het verwijderen.
Daar ga je.
Ik ga sparen.
En eens kijken of dit nu werkt.
Laten we onze opdracht uitvoeren.
Alles is klaar als we teruggaan, hé, kijk daar eens naar.
Al onze beelden zijn nu PMG en je zag hoe snel dat ging.
We hebben zojuist onze eerste JPEG naar PNG-conversie gemaakt.
Dit bestand kan nu worden geconverteerd zolang je het een map geeft met honderden afbeeldingen,
duizenden afbeeldingen van JPEG en het gaat ze converteren naar PNG.
Als je wilt, kun je ze zelfs verkleinen.
U kunt er zelfs afbeeldingsfilters aan toevoegen.
En dat kunnen we allemaal met een paar regels Python-code en een paar handige bibliotheken.
Heel erg cool.
Nu beginnen we hier nog maar aan het oppervlak te krabben, maar je begint de kracht van Python te zien.
We hebben een probleem en dit probleem kan worden opgelost met Python en zijn bibliotheken.
En door gewoon een beetje te Googlen, een beetje vallen en opstaan en onze code te debuggen, hebben we iets gemaakt
dat ons mogelijk veel tijd kan besparen in plaats van dit handmatig te doen.
Goed gedaan als je zo ver bent gekomen, dit is ons eerste project voor beeldverwerking, ik hoop dat je enthousiast bent.
Er is nog veel meer te bespreken, maar geef jezelf een schouderklopje en ik zie je in de volgende video.
Tot ziens.