Sisukord:

GET1033 Pythoni kodeeritud pildiprotsessor: 5 sammu
GET1033 Pythoni kodeeritud pildiprotsessor: 5 sammu

Video: GET1033 Pythoni kodeeritud pildiprotsessor: 5 sammu

Video: GET1033 Pythoni kodeeritud pildiprotsessor: 5 sammu
Video: Фонетическая кодировка в #Python #SurenPyTips 2024, Juuli
Anonim
GET1033 Pythoni kodeeritud pildiprotsessor
GET1033 Pythoni kodeeritud pildiprotsessor

Selle projekti eesmärk on luua oma mooduli GET1033 Exploring Computational Media Literacy jaoks oma pythoni kodeeritud pildiprotsessor. Esialgu peab kasutaja sisestama oma foto ja seejärel valima soovitud filtrid. Lõin 9 filtrit, mis on järgmised: sisendpildi kuvamine, peegel, riba taha panemine, läbipaistva riba taha panemine, ringpilt, hägusus, pööramine, värvi muutmine ja Photoshop. Pärast ühe valimist on väljundpildil efektid. Nagu pildil näidatud, on see värvimuutmise filter, kus tuvastan pildil rohelised värvipikslid ja teisendan need roosaks.

Samm: selle valmistamise protsess

Selle valmistamise protsess
Selle valmistamise protsess

Samm: laadige Python siit alla!

Samm: kodeerige see!

Esiteks importisin koodis kasutamiseks paar pakki, millel oli eelkodeeritud funktsioon. Minu imporditud paketid on Scipy, Matplot ja Numpy.

Scipy jaoks importisin mitmesugused rutiinid (MISC) ja mitmemõõtmeline pilditöötlus (NDIMAGE). MISC on pildi lugemiseks ja salvestamiseks, NDIMAGE aga gaussi filtri tegemiseks ja pööramiseks.

Matplotlibi jaoks on see raamatukogu graafiku joonistamiseks Pythonis, mis pakub MATLAB-tüüpi liidest.

Numpy jaoks on see raamatukogu, mis toetab suuri, mitmemõõtmelisi massiive ja maatrikseid. Numpy on oluline, kuna see võimaldab mul massiivi lisades või korrutades tõhusalt redigeerida piltide punase, rohelise ja sinise (RGB) massiivi. Näiteks A = [0, 1, 2] ja Numpy juuresolekul A*2 = [0, 2, 4] selle asemel, et saada A*2 = [0, 1, 2, 0, 1, 2].

Värvi muutmise filtri kallal töötades üritan tüdruku rohelised juuksed roosaks muuta. Niisiis avastasin pildil rohelised värvipikslid ja korrutasin need (2, 0,2, 0,8). Seega saan ma roheliste juuste asemel roosade juustega tüdruku.

Mis puudutab Photoshopit, siis proovin Avengersi pildi rohelise tausta asendada NUS -i pildiga. Niisiis korrutasin kõikide roheliste pikslitega 0 ja lisasin seejärel rohelistele pikslitele NUS -pildi pikslid. See annab mulle pildi Avengersist NUS -is.

Lisasin oma koodi ka GitHubile ja saate selle siit alla laadida!

2. samm: kuidas see toimib?

Kuidas see töötab?
Kuidas see töötab?

Lisatud on vooskeem, mis näitab, kuidas kogu kood töötab!

1. Esiteks palutakse kasutajal sisestada valitud pilt. 2. Seejärel kuvatakse filtrite loend, mille vahel kasutaja saab valida. 3. Kui kasutaja sisestas '1' kuni '9', töödeldakse ja väljastatakse pilt vastavalt igale filtrile.4. Kui kasutaja sisestas 'R', lähtestatakse kogu programm ja kasutajal palutakse pilt uuesti üles laadida. Kui kasutaja sisestas 'Q', siis programm väljub tsüklist.

3. samm: mida see teeb?

Selles projektis on minu loodud 9 filtrit, nimelt

1. Kuva sisendpilt - üleslaaditud pildi kuvamiseks

2. Peegelpilt - objekti peegeldatud dubleerimine, kuid see on vastupidises suunas

3. Pane riba taha - mustade vertikaalsete ribade sisestamine, mille laius ja vahe on 50 pikslit.

4. Pange läbipaistva riba taha - läbipaistvate vertikaalsete ribade sisestamine, mille laius ja vahe on 50 pikslit

5. Ringjoon - pildi tegemiseks ringi keskele

6. Hägusus - pildi hägustamiseks

7. Pööramine - pildi pööramiseks 45 kraadi võrra

8. Värvi muutmine - rohelise värvi muutmiseks roosaks

9. Photoshop - pildi osa muutmiseks teise pildiga

4. samm: miks ma selle tegin?

Varem olen uudishimulik, kuidas Instagram ja Snapchat pakkusid piltide jaoks filtrid, mis muutsid need nii huvitavaks. Pärast liitreaalsuse loengut ja õpetust tahtsin teha midagi sellega seotud, kuid tahaksin alustada põhitõdest, milleks on pilditöötlus, kuna olen programmeerimises nõrk ja tahaksin õppida Pythoni kodeerimist.

Samm: täiustused ja tulevased versioonid?

Üks selle projekti täiustusi on luua oma näofiltrid otsevideotesse Pythoni abil. Proovisin seda kodeerida, kuid ei suutnud ühtegi neist programmeerimisteadmiste ja ajapiirangu tõttu saavutada. Peale selle võib pildiprotsessor olla "targem", kus see tuvastab automaatselt värvid ja muudab ainult soovitud osi. Ühel korral üritan muuta inimese mustad juuksed teise värviga. Lõpuks muudan nii silmade kui ka juuste värvi siniseks, mis muudab pildi väga kummaliseks. Loodan, et suudan oma näo luua

Soovitan: