1-Modul Citra - Python
1-Modul Citra - Python
Dasar-Dasar
Pengolahan Citra
menggunakan
PHYTON
Sugeng Rianto
[email protected]
Hal. | i
DAFTAR ISI
MENGENAL PYTHON............................................................................. 1
Instalasi Windows........................................................................... 4
Operator logika............................................................................. 15
Hal. | ii
Operator penugasan .................................................................... 16
Mode ............................................................................................ 31
Koordinat...................................................................................... 32
Palet ............................................................................................. 32
Info ............................................................................................... 32
Filter ............................................................................................. 32
Transformasi ................................................................................ 40
Hal. | iii
Hal. | iv
MENGENAL PYTHON
Instalasi Windows
Langkah-langkah untuk menginstal Python di mesin Windows
adalah:
• Buka browser Web dan buka
https://www.python.org/downloads/.
• Ikuti tautan untuk file pemasang python-XY.msi Windows
di mana XYZ adalah versi yang perlu Anda instal.
• Untuk menggunakan pemasang ini python-XY.msi , sistem
Windows harus mendukung Microsoft Installer 2.0. Simpan
file penginstal ke mesin lokal Anda dan kemudian jalankan
untuk mencari tahu apakah mesin Anda mendukung MSI.
• Jalankan file yang diunduh. Ini menampilkan wizard
pemasangan Python, yang sangat mudah
digunakan. Terima saja pengaturan default, tunggu sampai
instalasi selesai, dan Anda selesai.
Menyiapkan PATH
Program dan file yang dapat dieksekusi lainnya bisa berada di
direktori yang berbeda, sehingga sistem operasi menyediakan jalur
pencarian yang mencantumkan direktori yang dicari OS untuk file
yang dapat dieksekusi.
Path disimpan dalam variabel lingkungan, yang merupakan string
bernama yang dikelola oleh sistem operasi. Variabel ini berisi
informasi yang tersedia untuk shell perintah dan program lain.
Variabel path disebut sebagai PATH di Unix sebagai kasus sensitif,
sedangkan pada Windows tidak.
PYTHONPATH
memiliki peran yang mirip PATH. Variabel ini memberi tahu
Python tempat mencari file-file modul yang diimpor ke suatu
program, yakni harus mencakup direktori pustaka sumber Python
dan direktori yang berisi kode sumber Python. PYTHONPATH
kadang-kadang ditentukan oleh pemasang Python.
PYTHON STARTUP
Berisi jalur file inisialisasi yang mengandung kode sumber
Python. Itu dieksekusi setiap kali Anda memulai penerjemah. Itu
dinamai .pythonrc.py di Unix dan berisi perintah yang memuat
utilitas atau memodifikasi PYTHONPATH.
PYTHON CASE OK
Digunakan di Windows untuk menginstruksikan Python untuk
menemukan kecocokan tidak peka huruf besar-kecil dalam sebuah
pernyataan impor. Setel variabel ini ke nilai apa pun untuk
mengaktifkannya.
PYTHON HOME
Jalur pencarian modul alternatif. Biasanya tertanam di direktori
PYTHONSTARTUP atau PYTHONPATH untuk memudahkan
pertukaran pustaka modul.
$python # Unix/Linux
Atau
python% # Unix/Linux
Atau
C:> python # Windows/DOS
-S
Jangan menjalankan situs impor untuk mencari jalur Python saat
startup.
atau
https://www.tutorialspoint.com/python/pdf/python_environment.pdf.
b)
2.1.2 Operator
Operator aritmatika
Operator aritmatika digunakan untuk melakukan operasi
matematika seperti penjumlahan, pengurangan, penggandaan, dll.
Operator pembanding
Operator perbandingan digunakan untuk membandingkan nilai
dengan hasil balik berupa True atau False yang sesuai dengan
kondisi.
Dasar Image Processing Menggunakan PYTHON, Sugeng Rianto 14
Operator Arti Contoh
Operator logika
Ada 3 operator logika yang dipergunakan dalam Python, yakni
and, or, not.
Operator bitwise
Operator bitwise bertindak pada operan seolah-olah mereka
adalah string dari angka biner. Operator ini beroperasi bit demi
bit. Sebagai contoh, 2 adalah 10 dalam biner dan 7 adalah 111.
Dalam tabel di bawah ini: Misalkan x = 10 ( 0000 1010 dalam biner)
dan y = 4 ( 0000 0100 dalam biner)
Pergeseran kanan
>> x >> 2 = 2 ( 0000 0010)
bitwise
Operator penugasan
Operator penugasan digunakan dalam Python untuk menetapkan
nilai ke variabel. Misalkan a = 5 adalah operator penugasan
sederhana yang memberikan nilai 5 di sebelah kanan ke
variabel a di sebelah kiri. Ada beberapa operator gabungan di
= x=5 x=5
+= x+=5 x=x+5
-= x-=5 x=x-5
*= x*=5 x=x*5
/= x/=5 x=x/5
%= x% = 5 x = x% 5
// = x // = 5 x = x // 5
** = x ** = 5 x = x ** 5
|= x|=5 x=x|5
^= x^=5 x=x^5
Operator khusus
Bahasa Python menawarkan beberapa jenis operator khusus seperti
operator identitas atau operator keanggotaan. Mereka dijelaskan di
bawah ini dengan contoh-contoh.
Operat
Arti Contoh
or
𝑎⃗. 𝑏⃗ = 𝑎 𝑏 + 𝑎 𝑏
Cara menghitung produk skalar dengan Python dapat dilihat
seperti pada Contoh 2.
Produk silang atau produk vektor adalah operasi biner pada dua
vektor dalam ruang tiga dimensi. Hasilnya adalah vektor yang
(a) (b)
𝑐 = 𝑎 𝑏
3.1 Pendahuluan
Pada bagian ini akan menjelaskan tentang dasar-dasar pengolahan
citra menggunakan PYTHON. Seperti yang telah dibahas
sebelumnya bahwa PYTHON merupakan bahasa komputasi yang
memilki banyak sekali fungsi built-in berkaitan dengan matrik dan
persamaan-persamaan yang biasa digunakan pada bidang tertentu.
PYTHON sangat memudahkan pengguna untuk melakukan
pemrograman dan pengguna juga tidak terlalu dipusingkan dengan
logika pemrograman, sehingga bisa lebih fokus pada logika
penyelesaian masalah yang dihadapi.
Pita (Band)
Suatu citra dapat terdiri dari satu atau lebih pita data. PIL
memungkinkan pengguna menyimpan beberapa pita dalam satu
citra, asalkan mereka semua memiliki dimensi dan kedalaman yang
sama. Misalnya, gambar PNG mungkin memiliki pita 'R', 'G', 'B', dan
'A' yang mewakili pia warna merah, hijau, biru, dan alfa (nilai
transparansi). Operasi pengolahan citra biasanya bekerja pada
masing-masing band secara terpisah, misalnya, histogram. Asumsi
yang biasanya dipakai adalah setiap piksel memiliki satu nilai pada
setiap pita. Untuk mendapatkan jumlah dan nama pita dalam suatu
citra bisa digunakan metode getbands() .
Ukuran (size)
Ukuran citra dapat dibaca melalui atribut size . Atribut ini berupa
tuple-2, berisi ukuran horizontal dan vertikal dalam piksel.
Palet
Palet (p) merupakan palet warna yang dipakai untuk menentukan
warna aktual untuk setiap piksel.
Info
Selain informasi bawaan citra yang tersebut sebelumnya, citra
dapat dilampiri dengan informasi tambahan menggunakan atribut
info. Sebagian besar penangan citra dilakukan dengan
menambahkan properti ke atribut info saat memuat gambar, tetapi
menyimpan citra dapat diabaikan.
Filter
Untuk operasi geometri yang dapat memetakan beberapa piksel
input ke piksel keluaran tunggal, Pustaka Pencitraan Python
menyediakan empat filter resampling berbeda .
NEAREST : Memilih piksel terdekat dari citra input dan
mengabaikan semua piksel input lainnya.
BILINEAR : Mengubah ukuran, menghitung nilai piksel output
menggunakan interpolasi linier pada semua piksel yang dapat
berkontribusi pada nilai output. Interpolasi transformasi linier lain
digunakan jika citra input berukuran diatas 2x2.
Pemotongan (Cropping)
Pada Contoh 3.1, ditunjukan beberapa contoh manipulasi citra
dengan modul PIL. Perintah crop(box) misalnya adalah perintah
yang dipakai untuk memotong citra pada ukuran yang diset oleh
box, dalam contoh tersebut citra dipotong dari koordinat
pixel(10,10) sampai pixel(100,100), ukuran ini tidak boleh melebihi
ukuran pixel aslinya yakni (259,194). Selanjutnya hasil potongan
tersebut bisa ditampilkan dengan memanggil obyek show() dengan
perintah potong.show(). Perintah-perintah manipulasi citra yang
lain bisa dilihat pada listing program pada Contoh 3.1.
Pada Contoh 3.2. Daerah crop() ditentukan oleh tupel 4 sesuai
keberadaan koordinat(kiri, atas, kanan, bawah). Pustaka
Pencitraan Python menggunakan sistem koordinat dengan (0, 0) di
sudut kiri atas. Perhatikan juga bahwa koordinat merujuk ke posisi
di antara piksel, sehingga wilayah dalam contoh di atas persis
(259,194) piksel.
Gambar 10. Pemotongan citra dengan crop() (Gambar kiri hasil kroping
dari gambar kanan)
(a)
(b)
(c)
(d)
Gambar 11. Pemotongan (crop), penggabungan (merge) dan pemisahan
(split) pita. a) pemotongan citra seluas subpersegi tertentu. b) tempelkan
citra potongan yang sudang diputar kedalam citra asal. c) potongan citra
yang diurai(split) dengan warna BGR. d) penggabungan citra potong
BGR dengan citra asal.
Transformasi
Pustaka PIL memungkinkan konversi gambar di antara
representasi mode piksel yang berbeda menggunakan metode
convert(). Misalkan perintah
citra = Image. open ( "flower3.jpg" ) . convert ( "L" )
melakukan transformasi mode (lihat sub-bab 3.2 tentang mode
citra) yang didukung. Pada perintah itu citra diubah ke citra hitam
putih, yakni dengan mentransformasikan ke mode "L". Konversi
mode lain harus menggunakan citra perantara (biasanya
citra"RGB").
Transformasi titik, yakni merubah nilai setiap titik piksel dengan
mengalikan nilai piksel pada suatu konstanta. Transformasi titik
dapat dilakukan dengan metode point(). Misalkan menerapkan
transformasi titik dengan mengalikan setiap piksel dengan 2 maka
dapat diperintahkan
ubahTitik=citra.point(lambda i:i*2)
Teknik ini dapat dipakai untuk menerapkan ekspresi sederhana
apa pun pada citra dengan cepat. Metode point() juga dapat
digabungkan dengan metode paste() untuk memodifikasi citra
secara selektif (misalnya memanipulasi kontras citra). Dalam
banyak kasus, fungsi objek yang mengharapkan satu argumen
dapat diteruskan ke metode ini dan setiap piksel diproses menurut
fungsi itu.
Transformasi geometris. PIL menggunakan metode resize() dan
rotate() untuk melakukan transformasi geometris. Metode resize()
mengambil tuple citra untuk membuat ukuran baru. Sedangkan
Putar 45
Gambar 12. Transformasi citra.
Peningkatan citra
PIL menyediakan sejumlah metode dan modul yang dapat
digunakan untuk meningkatkan kualitas citra. Modul Filter berupa
modul Python ImageFilter dan berisi sejumlah filter tambahan
yang berfungsi dalam pra-peningkatan citra. Modul ini dapat
digunakan dengan memanggil metode filter() dan diikuti dengan
fungsinya. Misalkan filter(ImageFilter.GaussianBlur) digunakan
untuk melakukan peningkatan citra dengan memberikan filter
pengkaburan gauss. Contoh Python skrip untuk filter dapat dilihat