Sub CPMK :
- Mahasiswa dapat menampilkan citra digital dengan python
- Mahasiswa dapat menjelaskan atribut-atribut citra digital
- Mahasiswa dapat mengubah ukuran citra dengan python
- Mahasiswa dapat menyimpan hasil manipulasi citra
Load Image
Pada bahasa pemrograman python kita dapat menampilkan citra menggunakan library tambahan yaitu OpenCV. Cara untuk menginstall OpenCV di python adalah dengan cara mengetikan perintah : pip install opencv-python pada anaconda prompt. Apabila tidak terdapat error, cek apakah OpenCV sudah terinstall dengan sempurna dengan cara mengetikan perintah berikut :
import cv2 print(cv2.__version__)
Hasilnya akan muncul versi dari OpenCV seperti gambar berikut :
Setelah OpenCV terinstall dengan baik, selanjutnya kita akan mencoba untuk load image dengan cara mengetikan perintah berikut ini :
import cv2 img = cv2.imread("spiderman.png", 1)
Pada kode diatas, kita memanggil library OpenCV dengan menambahkan import cv2. Kemudian kita load image dengan menggunakan fungsi imread()
. Citra yang kita load adalah citra berwarna RGB, yang dapat diunduh disini. Pada fungsi imread()
terdapat 2 atribut, yang pertama adalah citra yang akan di load, yang kedua adalah mode citra.
- Mode 1, untuk citra berwarna
- Mode 2, untuk citra grayscale (abu-abu)
Kemudian citra yang di load, disimpan di variable img. Ketika dijalankan tidak akan menampilkan output apapun. Namun citra akan tersimpan dalam memori penyimpanan sementara. Untuk menampilkan citra, digunakan fungsi imshow()
sebagai berikut:
import cv2 img = cv2.imread("spiderman.png", 1) cv2.imshow("Spiderman", img) cv2.waitKey(0) cv2.destroyAllWindows()
Fungsi imshow()
memiliki 2 atribut, yang pertama adalah judul window, kemudian yang kedua adalah variable image yang akan ditampilkan. Terdapat fungsi waitKey()
untuk menampilkan window. Parameter 0 pada fungsi waitKey()
artinya ketika kita menekan tombol apapun maka akan menutup window. Jika kita ubah parameter waitKey menjadi 2000 maka window akan terbuka selama 2000ms atau 2 detik kemudian tertutup. Fungsi waitKey()
selalu berpasangan dengan fungsi destroyAllWindows()
, yang bertugas untuk menutup window-window yang sedang aktif. Hasil dari kode program tersebut adalah sebagai berikut.
Menampilkan Atribut Citra
Menggunakan OpenCV dan Python, kita dapat memperoleh atribut atau spesifikasi dari citra. Informasi pertama yang akan kita tampilkan adalah tipe dari citra. Untuk menampilkan tipe citra dapat menggunakan perintah berikut :
import cv2 img = cv2.imread("spiderman.png", 0) print(type(img))
Perintah type(img) aka
n menampilkan tipe dari citra yaitu
<class 'numpy.ndarray'>
Hal itu menunjukan bahwa sebuah citra itu terdiri dari array yang membentuk matriks. untuk melihat matriks yang dihasilkan beserta nilai piksel nya, tambahkan perintah berikut:
import cv2 img = cv2.imread("spiderman.png", 0) print((img)
Hasilnya akan mucul sebuah matriks yang berisi nilai piksel dari citra spiderman.png sebagai berikut :
[[ 38 38 38 ... 92 91 90] [ 38 38 38 ... 98 97 95] [ 38 38 38 ... 101 100 97] ... [111 111 112 ... 108 106 105] [112 112 112 ... 110 108 106] [113 113 113 ... 110 109 107]]
Untuk menampilakan ukuran dan dimensi citra dapat menggunakan perintah berikut ini
import cv2 img = cv2.imread("spiderman.png", 0) print(img.shape) #menampilkan ukuran citra print(img.ndim) #menampilkan dimensi citra
Hasilnya akan muncul ukuran citra dan dimensi citra sebagai berikut
(551, 600) # ukuran citra, panjang 551, lebar 600 2 # dimensi dari citra
Mengubah Ukuran (Resize) Citra
Mengubah ukuran (memperbesar, memperkecil) citra, dapat dilakukan menggunakan fungsi yang sudah terdapat di OpenCV. Fungsi tersebut adalah resize()
. Cara penggunakan fungsi resize()
adalah sebagai berikut :
import cv2 img = cv2.imread("spiderman.png", 1) resize = cv2.resize(img, (200, 200)) # Resize image to 200x200 pixel cv2.imshow("Spiderman", resize) cv2.waitKey(0) cv2.destroyAllWindows()
Kode diatas akan mengubah ukuran citra menjadi 200×200 piksel. Untuk mengatur ukuran secara presisi, semisal memperkecil ukuran menjadi menjadi separuh ukuran semula. Atapun memperbesar ukuran citra menjadi 2 kali ukuran semula. Maka diperlukan operasi artimatika perkalian dan membagian seperti berikut ini
import cv2 img = cv2.imread("spiderman.png", 1) resize = cv2.resize(img, (int(img.shape[0]*2), int(img.shape[1]*2))) # mengubah ukuran citra menajadi 2x ukuran citra asli cv2.imshow("Spiderman", resize) cv2.waitKey(0) cv2.destroyAllWindows()
Menyimpan Citra Hasil Modifikasi
Setelah berhasil mengubah ukuran citra, selanjutnya kita simpan citra hasil modifikasi menggunakan perintah cv2.imwrite()
. Kode lengkapnya adalah sebagai berikut :
import cv2 img = cv2.imread("spiderman.png", 1) resize = cv2.resize(img, (int(img.shape[0]*2), int(img.shape[1]*2))) # mengubah ukuran citra menajadi 2x ukuran citra asli cv2.imshow("Spiderman", resize) cv2.imwrite("Spiderman_resize.jpg", resize) # menyimpan citra baru yang sudah diperbesar 2x cv2.waitKey(0) cv2.destroyAllWindows()
Pada kode diatas, kita menyimpan citra baru yang memiliki ukuran 2 kali lipat dari citra asli. Nama dari citra baru tersebut adalah “Spiderman_resize.jpg”. Secara tidak langsung saat ini kita memiliki 2 file gambar sebagai berikut :
Of course, what a splendid website and educative posts, I will bookmark your website.All the Best!