Pengenalan OpenCV

OpenCV adalah open source computer vision, ditulis dalam C++, pertama diluncurkan pada tahun 1999. Versi stable terakhir adalah versi 2.x. Silakan kunjungi official website di https://opencv.org/

Untuk latihan, disarankan menggunakan jupyter notebook. Cara termudah adalah menggunakan google colabs, karena Anda tidak perlu instalasi opencv, selain itu, kita dapat gunakan free computing power gpu dari google.

Untuk menggunakan library opencv gunakan perintah import cv2. Selain cv2, kita membutuhkan library pendukung numpy dan matplotlib.

import cv2
import matplotlib.pyplot as plt
import numpy as np

Untuk membaca image, gunakan perintah imread()

img = cv2.imread('namafile')

Untuk menampilkan image, kita gunakan modul matlpotlib. Sementara modul numpy kita gunakan untuk melakukan fungsi copy. (Mencopy data adalah kebiasaan baik untuk mencegah kerusakan data pada image origin).

Perintah %matplotlib inline adalah perintah khusus pada jupyter notebook, agar image ditampilkan inline dalam notebook.

%matplotlib inline

np.copy() adalah fungsi untuk mengcopy array dari image.

img_bgr = np.copy(img)

cv2.cvtColor(source_img, color_space), adalah fungsi untuk melakukan konversi color space. Seperti yang sudah dibahas sebelumnya, default dari OpenCV adalah BGR.

cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB) akan melakukan konversi dari BGR menjadi RGB.

img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)

f, (ax1, ax2) = plt.subplots(1, 2, figsize=(20,10)) code ini menyediakan area untuk image ploting menjadi 2 kolom dalam 1 baris.

ax1.set_title(‘BGR’) untuk menampilkan title pada image.

ax1.imshow(img_bgr) perintah untuk menampilkan image.

f, (ax1, ax2) = plt.subplots(1, 2, figsize=(20,10))

ax1.set_title('BGR')
ax1.imshow(img_bgr)

ax2.set_title('RGB')
ax2.imshow(img_rgb)

Berikut hasil image ploting. Perhatikan gambar dikiri menggunakan BGR, gambar sebelah kanan menggunakan RGB.

Perintah lainya yang umum digunakan adalah melihat ukuran image dengan fungsi shape yang akan mengembalikan nilai width, height dan jumlah channel.

Jumlah channel 3 untuk full color image, dan 1 untuk grayscale image.

print(img_rgb.shape)

#return dari perintah diatas adalah (width, height, channel)
(1024, 1024, 3)
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread('baby-corgi-14-1024x1024.jpg')

%matplotlib inline
img_bgr = np.copy(img)
img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)

f, (ax1, ax2) = plt.subplots(1, 2, figsize=(20,10))
ax1.set_title('BGR')
ax1.imshow(img_bgr)
ax2.set_title('RGB')
ax2.imshow(img_rgb)

print(img_rgb.shape)

TIPS

Jika Anda menggunakan google colabs, gunakan library dan perintah berikut untuk melakukan upload data.

Saat dieksekusi, google colabs akan menampilkan tombol untuk upload data.

from google.colab import  files
files.upload()

Untuk file code diatas bisa buka di colabs: https://colab.research.google.com/drive/1p8o1RSsyKDDOricTOe99MWEJsOD9LOM1?usp=sharing

Untuk file image bisa download di https://drive.google.com/file/d/1XSeJn8J9OOb5tbUUMoOHaXwWWeasMdl4/view?usp=sharing

Latihan Convert Image ke Grayscale

Convert image diatas menjadi grayscale dengan menggunakan perintah cv2.cvtColor dengan parameter cv2.COLOR_BGR2GRAY. Cek juga ukuran dari array image grayscale.

Perhatian, untuk menampilkan image dengan benar, kita perlu mengatur cmap=gray pada fungsi imshow.

Berikut jawaban code dari latihan diatas. Perhatikan, shape dari image hanya terdapat ukuran width dan height, karena image grayscale hanya memiliki 1 channel.

img_grayscale = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

plt.imshow(img_grayscale, cmap="gray")
print(img_grayscale.shape)

Sharing is caring:

Leave a Comment