Tartalomjegyzék:

GET1033 Python kódolású képfeldolgozó: 5 lépés
GET1033 Python kódolású képfeldolgozó: 5 lépés

Videó: GET1033 Python kódolású képfeldolgozó: 5 lépés

Videó: GET1033 Python kódolású képfeldolgozó: 5 lépés
Videó: TUDev's Cryptography with Python Workshop! Creating a Substitution Cipher (Caesar Cipher) 2024, November
Anonim
GET1033 Python kódolású képfeldolgozó
GET1033 Python kódolású képfeldolgozó

Ez a projekt a saját python kódolású képfeldolgozó létrehozásáról szól a modulomhoz, a GET1033 Exploring Computational Media Literacy -hez. Először a felhasználónak be kell írnia egy saját fényképét, majd ki kell választania a kívánt szűrőket. Létrehoztam 9 szűrőt, amelyek a következők: A bemeneti kép megjelenítése, Tükör, Put Be Bar Bar, Put Behind Transparent Bar, Körkép, Homályosítás, Forgatás, Színváltás és Photoshop. Az egyik kiválasztása után a kimeneti képnek lesz hatása. Amint a képen látható, ez a színváltó szűrő, ahol észlelem a kép zöld színű pixeleit, és rózsaszínre alakítom át őket.

1. lépés: Elkészítésének folyamata

Elkészítésének folyamata
Elkészítésének folyamata

Lépés: Töltse le a Python -t innen!

2. lépés: Kódolja!

Először is importáltam néhány, előre kódolt funkcióval rendelkező csomagot, amelyek használhatók a kódban. Az általam importált csomagok Scipy, Matplot és Numpy.

A Scipy esetében importáltam a Miscellaneous Routines (MISC) és a többdimenziós képfeldolgozást (NDIMAGE). A MISC a kép olvasására és mentésére szolgál, míg az NDIMAGE a gauss szűrőt és a forgatást végzi.

A Matplotlib számára ez egy könyvtár a gráf Python-ban való ábrázolásához, amely MATLAB-szerű felületet biztosít.

A Numpy számára ez egy könyvtár, amely támogatja a nagy, többdimenziós tömböket és mátrixokat. A Numpy azért fontos, mert lehetővé teszi számomra a képek vörös, zöld és kék (RGB) tömbjének hatékony szerkesztését, amikor tömböt adok hozzá vagy szorozok. Például A = [0, 1, 2] és Numpy jelenlétében A*2 = [0, 2, 4], ahelyett, hogy A*2 = [0, 1, 2, 0, 1, 2].

Amikor a Színváltás szűrőn dolgozom, megpróbálom a lány zöld haját rózsaszínűvé alakítani. Tehát, amit tettem, észleltem a kép zöld színű pixeleit, és megszorozom őket (2, 0,2, 0,8). Így rózsaszín hajú lányt szerezek a tényleges zöld haj helyett.

Ami a Photoshopot illeti, megpróbálom a Bosszúállók kép zöld hátterét lecserélni egy NUS képre. Tehát, amit tettem, 0 -t megszorzottam az összes zöld pixelre, majd hozzáadtam a NUS képének pixeleit a zöld pixelekhez. Ekkor kapok egy képet a Bosszúállókról a NUS -ban.

Csatoltam a kódomat a GitHubon is, és letöltheti innen!

2. lépés: Hogyan működik?

Hogyan működik?
Hogyan működik?

A folyamatábra mellékelve bemutatja, hogyan működik a teljes kód!

1. Először a felhasználó kéri, hogy adjon meg egy választott képet. 2. Ezután megjelenik a szűrők listája, amelyek közül a felhasználó választhat. 3. Ha a felhasználó „1” - „9” értéket adott meg, a kép feldolgozása és kimenete minden szűrőnek megfelelően történik. Ha a felhasználó beírta az „R” betűt, akkor az egész program alaphelyzetbe áll, és a felhasználót újra fel kell tölteni egy képre. Ha a felhasználó beírta a „Q” -t, akkor a program kilép a ciklusból.

3. lépés: Mit csinál?

Ebben a projektben összesen 9 szűrőt készítettem, nevezetesen

1. A bemeneti kép megjelenítése - A feltöltött kép megjelenítése

2. Tükörkép - Egy objektum tükröződő másolata, de az irány megfordul

3. Tedd a sáv mögé - Fekete függőleges sávok beillesztése, szélességük és távolságuk 50 pixel.

4. Tedd az átlátszó sáv mögé - átlátszó függőleges rudak behelyezése, szélességük és távolságuk 50 pixel

5. Körkép - Kör készítése a kép közepére

6. Elmosódás - A kép elmosása

7. Forgatás - A kép 45 fokkal történő elforgatása

8. Színváltás - A zöld szín rózsaszínre váltása

9. Photoshop - A kép egy részének megváltoztatása egy másik képpel

4. lépés: Miért sikerült?

Korábban kíváncsi vagyok, hogy az Instagram és a Snapchat hogyan talált ki szűrőket a képekhez, amelyek annyira érdekessé tették őket. A kiterjesztett valóságról szóló előadás és oktatóanyag után szerettem volna valamit csinálni ezzel kapcsolatban, de szeretnék az alapból kiindulni, ami a képfeldolgozás, mert gyenge vagyok a programozásban és szeretnék megtanulni Python kódolást.

5. lépés: Javítások és mit tesznek a jövőbeli verziók?

A projekt egyik fejlesztése, hogy saját arcszűrőket hozok létre élő videókban Python használatával. Próbáltam ezt kódolni, de egyiket sem tudtam elérni a programozási ismeretek hiánya és az idő szűkössége miatt. Ettől eltekintve a képfeldolgozó „okosabb” lehet, ahol automatikusan felismeri a színeket, és csak a kívánt részeket változtathatja meg. Van, amikor egy ember fekete haját próbálom más színre cserélni. Végül mind a szemet, mind a hajszínt kékre változtatom, amitől a kép nagyon furcsa. Remélem, hogy sikerül saját arcot alkotnom

Ajánlott: