Cara Menampilkan Citra dengan OpenCV dan Matplotlib pada Halaman Jupyter Notebook

Esa Prakasa
2 min readFeb 21, 2021

--

Tulisan ini akan menjelaskan bagaimana cara menampilkan citra yang dibaca dengan menggunakan library OpenCV dan Matplotlib. Mengapa library Matplotlib kita perlukan? Apakah tidak menggunakan fungsi yang telah disediakan oleh OpenCV saja? Tentu saja kita bisa menggunakan fungsi OpenCV tersebut, namun ada keterbatasan pada pemilihan environment. Dengan menggunakan fungsi OpenCV, tampilan citra tidak akan muncul jika kita sedang menggunakan Jupyter Notebook.

Cara yang kita pilih, citra tetap dibaca dan disimpan pada sebuah variabel dengan menggunakan fungsi pada OpenCV. Selanjutnya, variabel data citra tersebut akan disajikan pada output Jupyter melalui perintah Matplotlib. Langkah-langkah yang bisa dituliskan pada kode program Python adalah sebagai berikut.

Gambar 1. Kode lengkap untuk menampilkan citra dengan menggunakan Matplotlib.

Import library OpenCV dan Matplotlib dengan menggunakan perintah import cv2 dan import matplotlib.pyplot as plt

Perintah berikutnya adalah membaca file image dan menyimpannya ke dalam variabel img. Tuliskan path secara lengkap sebagai argumen fungsi imread(). Tanda titik tiga sengaja dituliskan untuk mewakili penulisan folder secara lengkap.

Dua baris terakhir digunakan untuk menampilkan citra pada halaman Jupyter. Konversi dari format BGR (Blue-Green-Red) ke RGB (Red-Green-Blue) diperlukan, karena OpenCV menggunakan format 3 kanal warna tersebut dengan urutan BGR. Sedangkan Matlplotlib melakukan pembacaan format simpan warna dengan urutan RGB. Output berupa citra warna dari perintah ini bisa dilihat pada Gambar 2.

Gambar 2. Citra warna RGB tampil di halaman Jupyter Notebook.

Jika perintah konversi cvtColor(img, cv2.COLOR_BGR2RGB) ini tidak dilakukan maka nilai intensitas pada channel Blue akan dianggap sebagai nilai intensitas pada channel Red, dan demikian seterusnya. Urutan yang terbalik akan menghasilkan output yang keliru sebagaimana pada Gambar 3 berikut ini.

Gambar 3. Data BGR akan ditafsirkan sebagai RGB oleh Matplotlib, jika konversi tidak dilakukan.

--

--

Esa Prakasa
Esa Prakasa

Written by Esa Prakasa

Research Center for Informatics, Indonesian Institute of Sciences

No responses yet