Indholdsfortegnelse:

GET1033 Python -kodet billedprocessor: 5 trin
GET1033 Python -kodet billedprocessor: 5 trin

Video: GET1033 Python -kodet billedprocessor: 5 trin

Video: GET1033 Python -kodet billedprocessor: 5 trin
Video: Advent of Code: Day 8 Puzzle 1 with TDD and phpspec 2024, November
Anonim
GET1033 Python -kodet billedprocessor
GET1033 Python -kodet billedprocessor

Dette projekt handler om at oprette min egen python -kodede billedprocessor til mit modul, GET1033 Exploring Computational Media Literacy. Først skal brugeren indtaste et eget foto og derefter vælge de filtre, han ønsker. Jeg har oprettet 9 filtre, som er: Vis inputbilledet, Mirror, Put Behind Bar, Put Behind Transparent Bar, Circle Picture, Sløring, Rotation, Changing Color og Photoshop. Efter at have valgt en af dem, vil outputbilledet have effekterne. Som vist på billedet er det filteret til ændring af farve, hvor jeg registrerer de grønne farvepixels i billedet og konverterer dem til lyserød farve.

Trin 1: Proces med at lave det

Proces med at gøre det
Proces med at gøre det

Trin 1: Download Python herfra!

Trin 2: Kode det!

Først og fremmest importerede jeg et par pakker med forudkodet funktion, der kan bruges i koden. De pakker, jeg importerede, er Scipy, Matplot og Numpy.

For Scipy importerede jeg Miscellaneous Routines (MISC) og Multi-dimensionel billedbehandling (NDIMAGE). MISC er til at læse og gemme billedet, mens NDIMAGE skal udføre gaussisk filter og rotere.

For Matplotlib er det et bibliotek til at plotte graf i Python, som giver en MATLAB-lignende grænseflade.

For Numpy er det et bibliotek, der kan understøtte store, multidimensionale arrays og matricer. Numpy er vigtig, fordi det gør det muligt for mig at redigere arrayet med røde, grønne og blå (RGB) af billederne effektivt, når jeg tilføjer eller multiplicerer arrayet. For eksempel A = [0, 1, 2] og med tilstedeværelsen af Numpy, A*2 = [0, 2, 4] i stedet for at få A*2 = [0, 1, 2, 0, 1, 2].

Når jeg arbejder på filteret til farveændring, forsøger jeg at konvertere pigens grønne hår til lyserød farve. Så det jeg gjorde var at opdage de grønne farvepixel på billedet og gange dem med (2, 0.2, 0.8). Således får jeg en pink hårpige i stedet for det egentlige grønne hår.

Hvad Photoshop angår, forsøger jeg at erstatte den grønne baggrund i Avengers -billedet med et billede af NUS. Så hvad jeg gjorde var at multiplicere 0 med alle de grønne pixels og derefter tilføje pixlerne på billedet af NUS til de grønne pixels. Dette vil så give mig et billede af Avengers i NUS.

Jeg vedhæftede også min kode på GitHub, og du kan downloade den her!

Trin 2: Hvordan fungerer det?

Hvordan det virker?
Hvordan det virker?

Rutediagrammet er vedhæftet for at vise, hvordan hele koden fungerer!

1. For det første bliver brugeren bedt om at indtaste et valgfrit billede. 2. Den viser derefter listen over filtre, som brugeren kan vælge imellem. 3. Hvis brugeren indtastede '1' til '9', vil billedet blive behandlet og udsendt i henhold til hvert filter. Hvis brugeren indtastede 'R', nulstilles hele programmet, og brugeren bliver bedt om at uploade et billede igen. Hvis brugeren indtastede 'Q', forlader programmet derefter sløjfen.

Trin 3: Hvad gør det?

I dette projekt er der i alt 9 filtre, som jeg har oprettet, nemlig

1. Vis inputbilledet - For at vise det billede, der uploades

2. Spejlbillede - En reflekteret kopiering af et objekt, men vendes i retning

3. Put bag bjælke - Indsætning af sorte lodrette stænger med bredde og afstand på 50 pixels.

4. Put bag den gennemsigtige bjælke - Indsætning af gennemsigtige lodrette stænger med bredde og afstand på 50 pixels

5. Cirkelbillede - For at lave en cirkel i midten af billedet

6. Sløring - For at sløre billedet

7. Rotation - For at rotere billedet med 45 grader

8. Ændring af farve - For at ændre grøn farve til lyserød farve

9. Photoshop - For at ændre en del af et billede med et andet billede

Trin 4: Hvorfor klarede jeg det?

Tidligere er jeg nysgerrig efter, hvordan Instagram og Snapchat fandt på filtre til billederne, hvilket gjorde dem så interessante. Efter foredraget og vejledningen om Augmented Reality ville jeg gøre noget relateret til det, men jeg vil gerne starte med det grundlæggende, som er billedbehandling, fordi jeg er svag i programmering og gerne vil lære Python -kodning.

Trin 5: Forbedringer og hvad vil de fremtidige versioner gøre?

En af forbedringerne til dette projekt er at oprette mine egne ansigtsfiltre i livevideoer ved hjælp af Python. Jeg forsøgte at kode dette, men jeg kunne ikke opnå nogen af dem på grund af manglende programmeringskendskab og tidsbegrænsning. Bortset fra det kan billedprocessoren være 'smartere', hvor den automatisk kan registrere farverne og kun ændre de dele, vi ønsker. Der er engang, hvor jeg prøver at ændre det sorte hår på en person til en anden farve. Jeg ender med at ændre både øjen- og hårfarve til blå, hvilket får billedet til at se meget underligt ud. Jeg håber, at jeg er i stand til at skabe mit eget ansigt

Anbefalede: