OpenCV merupakan salah satu library yang cukup handal untuk melakukan pengolahan citra. Pada Python, openCV dapat dengan mudah dipanggil lewat perintah
import cv2
Jika openCV masih belum terinstall, lakukan instalasi terlebih dulu dengan masuk pada prompt dan ketikkan:
pip install opencv-python
Jika openCV belum terinstall, maka proses instalasi akan segera dimulai. Tapi jika openCV telah terinstall, akan muncul pesan:
Requirement already satisfied: opencv-python in /usr/local/lib/python2.7/site-packages (3.4.2.17)
Pada artikel ini, akan diberikan contoh bagaimana me-load, menampilkan dan menyimpan citra pada Python menggunakan OpenCV. Ini merupakan dasar untuk pengolahan citra dan computer vision. Perhatikan kode berikut:
import cv
image = cv2.imread("contohgambar1.jpg")
print("panjang x lebar: %d x %d pixel" % (image.shape[0]))
print("channels: %d" % (image.shape[2]))
# tampilkan citra
cv2.imshow("Image", image)
cv2.waitKey(0)
Kode di atas akan me-load sebuah file bernama contohgambar1.jpg. Gambar dapat diunduh
di sini.
Pada kode di atas, gambar akan di-load menggunakan hard-code (langsung mengakses file gambar contohgambar1.jpg) menggunakan perintah:
image = cv2.imread("contohgambar1.jpg")
Fungsi imread pada openCV akan mengembalikan array numPy yang berisikan data citra. Dari array tersebut, bisa didapatkan ukuran citra dan jumlah channel melalui atribut shape. Di bagian berikutnya akan dibahas lebih lanjut tentang channel.
Untuk menampilkan ke layar, digunakan perintah:
cv2.imshow("Image", image)
Perintah imshow pada openCV terdiri dari 2 parameter. Parameter pertama berupa teks untuk memberi label pada window dan parameter kedua berisi data citra.
Hasil tampilan dari kode di atas adalah:
Pada baris terakhir, terdapat perintah:
cv2.waitKey(0)
Perintah waitKey(0) pada openCV berfungsi untuk menunggu masukan/penekanan tombol di keyboard sebelum window ditutup. Tanpa perintah ini, window yang menampilkan citra akan langsung tertutup.
Terakhir untuk menyimpan citra, dapat digunakan perintah:
cv2.imwrite("newimage.jpg", image)
Perintah di atas akan menghasilkan sebuah file baru bernama newimage.jpg yang berisikan data seperti pada array image. Dalam hal ini, newimage.jpg akan persis sama dengan contohgambar1.jpg karena pada array image tidak dilakukan pengolahan data apapun.