Isi kandungan:

Pemproses Imej Berkod Python GET1033: 5 Langkah
Pemproses Imej Berkod Python GET1033: 5 Langkah

Video: Pemproses Imej Berkod Python GET1033: 5 Langkah

Video: Pemproses Imej Berkod Python GET1033: 5 Langkah
Video: dokon santet 96thn dengan mantra menerbangkan keris# 2024, November
Anonim
Pemproses Imej Berkod Python GET1033
Pemproses Imej Berkod Python GET1033

Projek ini adalah untuk menghasilkan pemproses gambar berkod python saya sendiri untuk modul saya, GET1033 Exploring Computational Media Literacy. Pada mulanya, pengguna perlu memasukkan foto sendiri dan kemudian memilih penapis yang dia mahukan. Saya membuat 9 penapis iaitu: Tunjukkan gambar input, Cermin, Put Behind Bar, Put Behind Transparent Bar, Circle Picture, Blurring, Rotation, Changing Colour dan Photoshop. Setelah memilih salah satu daripadanya, gambar output akan memberi kesan. Seperti yang ditunjukkan dalam gambar, ia adalah penapis untuk mengubah warna di mana saya mengesan piksel warna hijau dalam gambar dan mengubahnya menjadi warna merah jambu.

Langkah 1: Proses Membuatnya

Proses Membuatnya
Proses Membuatnya

Langkah 1: Muat turun Python dari sini!

Langkah 2: Kodkannya!

Pertama sekali, saya mengimport beberapa pakej dengan fungsi pra-kod yang tersedia untuk digunakan dalam kod. Pakej yang saya import adalah Scipy, Matplot dan Numpy.

Untuk Scipy, saya mengimport Pelbagai Rutin (MISC) dan Pemprosesan Imej Berbilang Dimensi (NDIMAGE). MISC adalah untuk membaca dan menyimpan gambar sedangkan NDIMAGE adalah untuk melakukan saringan gaussian dan putar.

Untuk Matplotlib, ini adalah perpustakaan untuk merancang grafik di Python yang menyediakan antara muka seperti MATLAB.

Untuk Numpy, ia adalah perpustakaan yang dapat menyokong tatasusunan dan matriks pelbagai dimensi yang besar. Numpy penting kerana ia membolehkan saya mengedit susunan gambar Merah, Hijau dan Biru (RGB) dengan cekap ketika saya menambah atau mengalikan array. Contohnya, A = [0, 1, 2] dan dengan kehadiran Numpy, A * 2 = [0, 2, 4] dan bukannya mendapat A * 2 = [0, 1, 2, 0, 1, 2].

Semasa saya mengusahakan penapis untuk Mengubah Warna, saya cuba menukar rambut hijau gadis itu menjadi warna merah jambu. Jadi, apa yang saya lakukan ialah mengesan piksel warna hijau dalam gambar dan mengalikannya dengan (2, 0.2, 0.8). Oleh itu, saya akan memperoleh gadis berambut merah jambu dan bukannya rambut hijau yang sebenarnya.

Bagi Photoshop, saya cuba mengganti latar belakang hijau dalam gambar Avengers dengan gambar NUS. Jadi, apa yang saya lakukan adalah mengalikan 0 ke semua piksel hijau dan kemudian menambahkan piksel gambar NUS ke piksel hijau. Ini kemudian akan memberi saya gambar Avengers di NUS.

Saya juga melampirkan kod saya di GitHub dan anda boleh memuat turunnya di sini!

Langkah 2: Bagaimana Ia Berfungsi?

Bagaimana ia berfungsi?
Bagaimana ia berfungsi?

Carta alir dilampirkan untuk menunjukkan bagaimana keseluruhan kod berfungsi!

1. Pertama, pengguna diminta memasukkan gambar pilihan. 2. Kemudian akan menunjukkan senarai penapis yang boleh dipilih pengguna. 3. Sekiranya pengguna memasukkan '1' hingga '9', gambar akan diproses dan dikeluarkan mengikut setiap penapis.4. Sekiranya pengguna memasukkan 'R', keseluruhan program akan diset semula dan pengguna akan diminta untuk memuat naik gambar lagi. Sekiranya pengguna memasukkan 'Q', program kemudian akan keluar dari gelung.

Langkah 3: Apa Yang Dilakukannya?

Dalam projek ini, terdapat 9 penapis yang saya buat, iaitu

1. Tunjukkan gambar input - Untuk menunjukkan gambar yang dimuat

2. Imej Cermin - Penduaan objek yang dipantulkan tetapi terbalik ke arahnya

3. Letakkan Behind Bar - Memasukkan bar menegak hitam dengan lebar dan jarak sama dengan 50 piksel.

4. Letakkan Belakang Transparan Bar - Memasukkan batang menegak lutsinar dengan lebar dan jarak sama dengan 50 piksel

5. Lingkaran Gambar - Untuk membuat bulatan di tengah gambar

6. Kabur - Untuk mengaburkan gambar

7. Putaran - Untuk memutar gambar sebanyak 45 darjah

8. Perubahan Warna - Untuk menukar warna hijau menjadi warna merah jambu

9. Photoshop - Untuk menukar bahagian gambar dengan gambar lain

Langkah 4: Mengapa Saya Membuatnya?

Sebelum ini, saya ingin tahu bagaimana Instagram dan Snapchat hadir dengan penapis untuk gambar yang menjadikannya begitu menarik. Selepas kuliah dan tutorial mengenai Augmented Reality, saya ingin melakukan sesuatu yang berkaitan dengannya tetapi saya ingin memulakan dari asas iaitu pemprosesan imej kerana saya lemah dalam pengaturcaraan dan ingin belajar pengekodan Python.

Langkah 5: Penambahbaikan dan Apa yang Akan Dilakukan Versi Masa Depan?

Salah satu penambahbaikan untuk projek ini adalah membuat Penapis Wajah saya sendiri dalam video langsung menggunakan Python. Saya cuba membuat kod ini tetapi saya tidak dapat mencapainya kerana kekurangan pengetahuan pengaturcaraan dan kekangan masa. Selain itu, pemproses gambar boleh menjadi 'lebih pintar' di mana ia dapat mengesan warna dan menukar bahagian yang kita mahukan secara automatik. Ada satu ketika saya cuba menukar rambut hitam seseorang menjadi warna lain. Saya akhirnya menukar warna mata dan rambut menjadi biru yang menjadikan gambar kelihatan sangat pelik. Saya harap saya dapat mencipta wajah saya sendiri

Disyorkan: