Anggri Yulio P
Web Developer, sekarang mulai jatuh hati pada Computer Vision.
February 28, 2017 12:35 pm

Dasar Manipulasi Gambar di Opencv & Python

Dasar manipulasi gambar di OpenCV dan Python ini mencakup bagaimana kita menerapkan teknik Resizing, cropping dan rotating pada gambar.

Pada tulisan ini saya masih menggunakan Python versi 3.6.0, OpenCV versi 3.2.0. Saya asumsikan kit telah menginstal Python pada komputer kita, dan kita telah mengetahui dasar pemograman Python. Silahkan baca tulisan saya sebelumnya jika membutuhkan tutorial tentang cara Install OpenCV untuk Python.

Sebelum kita menlanjutkan lebih jauh, kita ingat kembali tentang Core Operations dalam OpenCV untuk mengolah gambar. Operasi ini terdiri dari membaca gambar, menampilkan gambar dan menyimpan gambar.
1. Membaca Gambar
Untuk membaca gambar dalam OpenCV menggunakan fungsi cv2.imread() dimana parameter pertama adalah nama file gambar lengkap dengan ekstensinya. Sebagai contoh :

Fungsi cv2.waitkey(0)  adalah untuk mempertahanakan window agar tetap menampilkan gambar. Sedangkan fungsi cv2.destroyAllWindows()  adalah untuk menutup window lain yang sedang terbuka.

2. Menampilkan Gambar
Menampilkan gambar dalam OpenCV menggunakan fungsi cv2.imshow() dengan parameter pertama adalah nama window untuk menampilkan gambar dan parameter kedua adalah gambar itu sendiri. Contoh :

3. Menulis / Menyimpan Gambar
Untuk menulis / menyimpan gambar dalam OpenCV menggunakan fungsi cv2.imwrite() dimana parameter pertama adalah nama file baru yang akan kita simpan dan parameter kedua adalah sumber gambar itu sendiri. Contoh :

Untuk selengkapnya tentang Core Image Operations OpenCV silahkan baca didokumentasi OpenCV.

Oke, kembali ke topik awal mengenai dasar manipulasi gambar di OpenCV dan Python. Seperti yang telah dijelaskan sebelumnya dalam artikel ini kita akan mempelajari tentang bagaimana kita menerapkan teknik Resizing, cropping dan rotating pada gambar.

Pertama mari coba baca sumber gambar kita dan menampilkannya dengan fungsi yang telah dijelaskan sebelumnya.

Membaca dan Menampilkan Gambar OpenCV

Membaca dan Menampilkan Gambar OpenCV

Untuk selanjutnya kita akan menggunakan gambar diatas dalam tulisan ini. Jalankan perintah print(img.shape)  untuk menampilkan dimensi dari sumber gambar kita. Perintah tersebut akan menghasilkan keluaran (675, 900, 3) dimana 675 adalah lebar dan 900 adalah tinggi dalam ukuran pixel sedangan 3 merupakan channel gambar (RGB) atau bisa diartikan bahwa gambar tersebut mempunyai 675 rows dan 900 columns.

Perlu diketahui jika kita membaca gambar dalam bentuk grayscale keluaran yang dihasilkan hanya rows dan columns. Jadi perintah img.shape juga bisa diaplikasikan untuk melihat apakah gambar tersebut grayscale atau gambar berwarna.

Image Resizing OpenCV

Sebelumnya kita telah mendapatkan lebar gambar kita dengan fungsi img.shape  yaitu 900 pixel. Mari kita ubah ukuran gambar menjadi 2 kali lebih kecil.

Image Resizing OpenCV & Python

Image Resizing OpenCV & Python

 

Image Cropping OpenCV

Perlu diingat bahwa setiap gambar yang kita baca dengan fungsi cv2.imshow() mengembalikan data dalam bentuk array.

Pengaplikasian cropping pada OpenCV sangat mudah, kita cukup menentukan dimana koordinat gambar yang akan di crop. Terlebih dahulu kita menentukan koordinat x awal dan x akhir lalu menentukan koordinat y awal dan y akhir dari gambar yang telah dikata baca sebelumnya. Contoh :

Dari perintah diatas maka akan tampil hasil crop dari gambar awal kita sesuai dengan koordinat yang telah kita tentukan sebelumnya.

Image Cropping Open CV

Image Cropping Open CV

Image Rotating OpenCV

 

Mengubah rotasi juga tidak terlalu sulit. Pertama kita harus menentukan titik tengah rotasi yang bisa kita tentukan dari lebar dan tinggi gambar, lalu menentukan derajat rotai gambar serta dimensi output gambar tersebut. Contoh :

Selanjutnya adalah menerapkan setingan rotasi yang telah kita tentukan pada gambar yang telah kita baca sebelumnya dan menampilkan gambar tersebut.

OpenCV Image Rotating

OpenCV Image Rotating

 

Nah itulah dasar Manipulasi Gambar dengan OpenCV dan Python. Jangan lupa subscribe untuk mendapatkan tips dan trik Python dan OpenCV terbaru 😉

%d bloggers like this: