INHOUDSOPGAWE:

GET1033 Python -gekodeerde beeldverwerker: 5 stappe
GET1033 Python -gekodeerde beeldverwerker: 5 stappe

Video: GET1033 Python -gekodeerde beeldverwerker: 5 stappe

Video: GET1033 Python -gekodeerde beeldverwerker: 5 stappe
Video: GET1033 Final Project Video 2024, November
Anonim
GET1033 Python -gekodeerde beeldverwerker
GET1033 Python -gekodeerde beeldverwerker

Hierdie projek gaan oor die skep van my eie python -gekodeerde beeldverwerker vir my module, GET1033 Exploring Computational Media Literacy. Eerstens moet die gebruiker 'n eie foto invoer en dan die filters kies wat hy wil hê. Ek het 9 filters geskep, naamlik: Toon die invoerbeeld, Spieël, Sit agter balk, Sit agter deursigtige balk, Sirkelbeeld, Vervaging, Rotasie, Kleurverandering en Photoshop. Nadat u een daarvan gekies het, sal die uitvoerbeeld die gevolge hê. Soos op die foto getoon, is dit die filter vir die verandering van kleur, waar ek die groen kleurpiksels in die prentjie opspoor en dit in pienk kleur omskakel.

Stap 1: Proses om dit te maak

Proses om dit te maak
Proses om dit te maak

Stap 1: Laai Python hier af!

Stap 2: Kodeer dit!

Eerstens het ek 'n paar pakkette ingevoer met 'n vooraf gekodeerde funksie wat in die kode gebruik kan word. Die pakkette wat ek ingevoer het, is Scipy, Matplot en Numpy.

Vir Scipy het ek Miscellaneous Routines (MISC) en Multi-dimensionele beeldverwerking (NDIMAGE) ingevoer. MISC is vir die lees en stoor van die beeld, terwyl NDIMAGE 'n gaussiaanse filter moet uitvoer en draai.

Vir Matplotlib is dit 'n biblioteek om grafieke in Python te teken, wat 'n MATLAB-agtige koppelvlak bied.

Vir Numpy is dit 'n biblioteek wat groot, multi-dimensionele skikkings en matrikse kan ondersteun. Numpy is belangrik, want dit stel my in staat om die reeks rooi, groen en blou (RGB) van die beelde doeltreffend te wysig as ek die skikking toevoeg of vermenigvuldig. Byvoorbeeld, A = [0, 1, 2] en met die teenwoordigheid van Numpy, A*2 = [0, 2, 4] in plaas van om A*2 = [0, 1, 2, 0, 1, 2] te kry.

As ek aan die filter vir kleurverandering werk, probeer ek die meisie se groen hare in pienk kleur verander. Dus, wat ek gedoen het, was om die groen kleurpiksels in die prent op te spoor en dit te vermenigvuldig met (2, 0.2, 0.8). Ek sal dus 'n pienk haarmeisie kry in plaas van die regte groen hare.

Wat die Photoshop betref, probeer ek om die groen agtergrond in die Avengers -prentjie te vervang deur 'n prentjie van NUS. Wat ek gedoen het, was om 0 met al die groen pixels te vermenigvuldig en dan die pixels van die prentjie van NUS by die groen pixels te voeg. Dit gee my dan 'n prentjie van Avengers in NUS.

Ek het ook my kode op GitHub aangeheg en u kan dit hier aflaai!

Stap 2: Hoe werk dit?

Hoe dit werk?
Hoe dit werk?

Die vloeidiagram is aangeheg om te wys hoe die hele kode werk!

1. Eerstens word die gebruiker gevra om 'n prentjie van u keuse in te voer. 2. Dit sal dan die lys filters wys waaruit die gebruiker kan kies. 3. As die gebruiker '1' tot '9' ingevoer het, sal die beeld volgens elke filter verwerk en uitgevoer word. As die gebruiker 'R' ingevoer het, sal die hele program herstel word en sal die gebruiker gevra word om weer 'n foto op te laai. As die gebruiker 'Q' ingevoer het, verlaat die program die lus.

Stap 3: Wat doen dit?

In hierdie projek is daar altesaam 9 filters wat ek geskep het, naamlik

1. Wys die invoerbeeld - Om die prentjie wat opgelaai word, te wys

2. Spieëlbeeld - 'n Weerspieëlde duplisering van 'n voorwerp, maar word in die rigting omgekeer

3. Sit agter balk - Voeg swart vertikale balke in met 'n breedte en afstand tussen 50 pixels.

4. Sit agter die deursigtige balk - Plaas deursigtige vertikale balke met 'n breedte en afstand tussen 50 pixels

5. Sirkelbeeld - Om 'n sirkel in die middel van die prentjie te maak

6. Vervaging - Om die beeld te vervaag

7. Rotasie - Om die beeld met 45 grade te draai

8. Kleurverandering - Om groen kleur na pienk kleur te verander

9. Photoshop - Om 'n deel van 'n prentjie met 'n ander prentjie te verander

Stap 4: Waarom het ek dit reggekry?

Ek was voorheen nuuskierig oor hoe Instagram en Snapchat met filters vir die foto's vorendag gekom het, wat dit so interessant gemaak het. Na die lesing en tutoriaal oor Augmented Reality, wou ek iets daaraan doen, maar ek wil begin met die basiese beeldverwerking, want ek is swak in programmering en wil graag Python -kodering leer.

Stap 5: Verbeterings en wat sal die toekomstige weergawes doen?

Een van die verbeterings vir hierdie projek is om my eie gesigfilters in live video's met Python te skep. Ek het dit probeer kodeer, maar ek kon dit nie bereik nie weens 'n gebrek aan programmeerkennis en tydsbeperking. Daarbenewens kan die beeldverwerker 'slimmer' wees, waar dit outomaties die kleure kan opspoor en slegs die dele kan verander wat ons wil hê. Daar was een keer dat ek probeer om die swart hare van 'n persoon na 'n ander kleur te verander. Ek verander uiteindelik die oog- en haarkleur na blou, wat die prentjie baie vreemd laat lyk. Ek hoop dat ek my eie gesig kan skep

Aanbeveel: