Satura rādītājs:

GET1033 Python kodēts attēlu procesors: 5 soļi
GET1033 Python kodēts attēlu procesors: 5 soļi

Video: GET1033 Python kodēts attēlu procesors: 5 soļi

Video: GET1033 Python kodēts attēlu procesors: 5 soļi
Video: GET1033 Final Project Video 2024, Jūlijs
Anonim
GET1033 Python kodēts attēlu procesors
GET1033 Python kodēts attēlu procesors

Šis projekts ir par sava python kodēta attēlu procesora izveidi savam modulim GET1033 Exploring Computational Media Literacy. Sākumā lietotājam būs jāievada savs fotoattēls un pēc tam jāizvēlas vajadzīgie filtri. Es izveidoju 9 filtrus, kas ir: parādīt ievades attēlu, spoguli, ielikt aiz joslas, ievietot aiz caurspīdīgās joslas, apļa attēlu, izplūšanu, rotāciju, krāsas maiņu un Photoshop. Izvēloties vienu no tiem, izvades attēlam būs efekti. Kā parādīts attēlā, tas ir krāsu maiņas filtrs, kurā es atklāju zaļās krāsas pikseļus attēlā un pārvēršu tos rozā krāsā.

1. solis: tā izgatavošanas process

Izgatavošanas process
Izgatavošanas process

1. darbība: lejupielādējiet Python no šejienes!

2. darbība: kodējiet to!

Pirmkārt, es importēju dažus iepakojumus ar iepriekš kodētu funkciju, ko var izmantot kodā. Manis importētie iepakojumi ir Scipy, Matplot un Numpy.

Skipijam es importēju dažādas darbības (MISC) un daudzdimensiju attēlu apstrādi (NDIMAGE). MISC ir paredzēts attēla lasīšanai un saglabāšanai, turpretim NDIMAGE ir paredzēts gausa filtram un pagriešanai.

Matplotlib tā ir bibliotēka grafika zīmēšanai Python, kas nodrošina MATLAB līdzīgu saskarni.

Numpy tas ir bibliotēka, kas var atbalstīt lielus, daudzdimensiju masīvus un matricas. Numpy ir svarīgs, jo tas ļauj man efektīvi rediģēt attēlu sarkano, zaļo un zilo (RGB) masīvu, pievienojot vai reizinot masīvu. Piemēram, A = [0, 1, 2] un Numpy klātbūtnē A*2 = [0, 2, 4], nevis A*2 = [0, 1, 2, 0, 1, 2].

Strādājot pie krāsu maiņas filtra, es mēģinu meitenes zaļos matus pārvērst rozā krāsā. Tātad, tas, ko es darīju, bija atklāt zaļās krāsas pikseļus attēlā un reizināt tos ar (2, 0,2, 0,8). Tādējādi es dabūšu rozā matu meiteni, nevis faktiskos zaļos matus.

Kas attiecas uz Photoshop, es cenšos aizstāt zaļo fonu Avengers attēlā ar NUS attēlu. Tātad, es izdarīju, reizinot 0 ar visiem zaļajiem pikseļiem un pēc tam pievienojot NUS attēla pikseļus zaļajiem pikseļiem. Tādējādi es iegūstu priekšstatu par Atriebējiem NUS.

Es arī pievienoju savu kodu GitHub, un jūs varat to lejupielādēt šeit!

2. darbība. Kā tas darbojas?

Kā tas strādā?
Kā tas strādā?

Blokshēma ir pievienota, lai parādītu, kā darbojas viss kods!

1. Pirmkārt, lietotājs tiek aicināts ievadīt izvēlēto attēlu. 2. Pēc tam tiks parādīts to filtru saraksts, no kuriem lietotājs var izvēlēties. 3. Ja lietotājs ievadīja “1” līdz “9”, attēls tiks apstrādāts un izvadīts atbilstoši katram filtram.4. Ja lietotājs ievadīja “R”, visa programma tiks atiestatīta un lietotājam tiks lūgts augšupielādēt attēlu vēlreiz. Ja lietotājs ievadīja “Q”, programma izies no cilpas.

3. darbība: ko tas dara?

Šajā projektā es kopā izveidoju 9 filtrus, proti

1. Parādīt ievades attēlu - lai parādītu augšupielādēto attēlu

2. Spoguļattēls - atspoguļota objekta dublēšanās, bet ir apgriezta virzienā

3. Ielieciet aiz joslas - ievietojiet melnas vertikālas joslas, kuru platums un atstarpes ir vienādas ar 50 pikseļiem.

4. Ielieciet aiz caurspīdīgās joslas - ievietojiet caurspīdīgas vertikālas joslas, kuru platums un attālums ir vienāds ar 50 pikseļiem

5. Apļa attēls - lai attēla centrā izveidotu apli

6. Izplūšana - lai aizmiglotu attēlu

7. Rotācija - lai pagrieztu attēlu par 45 grādiem

8. Krāsu maiņa - lai mainītu zaļo krāsu uz rozā krāsu

9. Photoshop - lai mainītu attēla daļu ar citu attēlu

4. solis: Kāpēc man tas izdevās?

Iepriekš mani interesēja, kā Instagram un Snapchat nāca klajā ar filtriem attēliem, kas padarīja tos tik interesantus. Pēc lekcijas un apmācības par paplašināto realitāti es gribēju darīt kaut ko ar to saistītu, bet es gribētu sākt no pamata, kas ir attēlu apstrāde, jo esmu vāja programmēšanā un vēlētos iemācīties Python kodēšanu.

5. solis: uzlabojumi un ko darīs nākamās versijas?

Viens no šī projekta uzlabojumiem ir izveidot savus sejas filtrus tiešraides videoklipos, izmantojot Python. Es mēģināju to kodēt, bet nevienu no tiem nevarēju sasniegt programmēšanas zināšanu trūkuma un laika ierobežojuma dēļ. Turklāt attēlu procesors var būt “gudrāks”, kur tas var automātiski noteikt krāsas un mainīt tikai tās detaļas, kuras mēs vēlamies. Ir viena reize, kad es mēģinu mainīt cilvēka melnos matus uz citu krāsu. Es galu galā mainu gan acu, gan matu krāsu uz zilu, tāpēc attēls izskatās ļoti dīvains. Es ceru, ka man izdosies izveidot savu seju

Ieteicams: