Computer Vision (Komputer Visi) adalah cabang ilmu komputer yang memungkinkan komputer untuk memahami, menganalisis, dan mengekstrak informasi dari gambar dan video.
Di era di mana data visual semakin mendominasi dunia digital, pemahaman mengenai Computer Vision menjadi semakin penting.
Sekilas Computer Vision
Pada kesempatan ini, Artikel ini akan memandu Anda melalui konsep dasar Computer Vision. Sekaligus, memberikan contoh-contoh kode implementasi menggunakan bahasa pemrograman Python dan library populer OpenCV.
Pengolahan gambar adalah fondasi utama dari Computer Vision. Hal ini melibatkan serangkaian tahapan, termasuk akuisisi gambar, pra-pemrosesan, analisis, dan pengambilan keputusan.
Berikut ini adalah langkah-langkah mendasar dalam pengenalan Computer Vision;
Instalasi OpenCV
OpenCV atau Open Source Computer Vision Library) adalah library populer untuk pengolahan gambar dan komputer. Anda perlu menginstalnya sebelum memulai.
Buka terminal atau command prompt dan jalankan perintah berikut.
pip install opencv-python
Membaca dan menampilkan gambar
pada langkah ini akan mengajarkan cara membaca dan menampilkan gambar.
Contoh
import cv2
# Membaca gambar dari file
image = cv2.imread('gambar.jpg')
# Menampilkan gambar dalam jendela
cv2.imshow('Gambar Asli', image)
# Tunggu hingga tombol ditekan, lalu tutup jendela
cv2.waitKey(0)
cv2.destroyAllWindows()
Output
Pada kode di atas, terlebih dahulu kita mengimpor library OpenCV dengan pernyataan ‘import cv2’. Setelahnya, menggunakan fungsi cv2.imread(‘gambar.jp’) untuk membaca gambar dari file ‘gambar.jpg’. Fungsi ini mengharapkan parameter berupa string yang berisi nama file gambar yang ingin dibaca.
Sesudah gambar berhasil dibaca menggunakan cv2.imread(), gambar akan diwakili sebagai array multi-dimensi untuk diproses lebih lanjut.
Langkah selanjutnya yaitu menampilkan gambar dalam jendela menggunakan ‘cv2.imshow(), Hal ini agar menunjukkan cara menampilkan gambar dalam jendela dengan judul “Gambar Asli”.
Kemudian, ‘cv2.waitKey(0) menginstruksikan program untuk menunggu hingga sebuah tombol ditekan sebelum jendela ditutup. Setelah itu cv2.destroyAllWindows() digunakan untuk menutup jendela tampilan.
Mendeteksi wajah
Pada langkah ini,kita akan membahas cara mendeteksi wajah, sebab ini merupakan salah satu tugas umum dalam Computer Vision.Untuk melakukannya dengan menggunakan haar cascades.
import cv2
# Baca gambar
image = cv2.imread('wajah.jpg')
# Konversi ke grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Inisialisasi detektor wajah
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Deteksi wajah
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5, minSize=(30, 30))
# Gambar persegi di sekitar wajah
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
# Menampilkan gambar dengan wajah terdeteksi
cv2.imshow('Deteksi Wajah', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Output
Pada kode diatas, kita terlebih dahulu mengimpor library OpenCV dengan pernyataan “import cv2″. Setelahnya, dengan cv2.imread(‘wajah.jpg’) membaca gambar dari file ‘wajah.jpg’.
Untuk mengonversi gambar yang telah dibaca ke skala abu-abu menggunakan cv2.cvtColor() Gambar dalam skala abu-abu lebih cocok untuk banyak operasi analisis, termasuk deteksi wajah.
Selanjutnya, kita menginisialisasi detector wajah dengan menggunakan haar cascade yang telah disediakan OpenCV. Dan menggunakannya dengan menginisialisasi ‘face_cascade’ sesuai dengan path ke file ‘haarcascade_frontalface_default.xml.
Setelah mendeteksi wajah dilakukan, kita menggambar persegi panjang di sekitar setiap wajah yang terdeteksi menggunakan cv2.rectangle(). Gunanya agar dapat membantu memvisualisasikan wajah-wajah yang telah terdeteksi.
Terakhir, menampilkan gambar yang telah ditandai dengan persegi di sekitar wajah-wajah yang terdeteksi menggunakan cv2.imshow(). Kemudian menunggu hingga tombol ditekan sebelum menutup jendela dengan cv2.waitKey(0). Setelah itu, tutup jendela tampilan menggunakan cv2.destroyAllWindows().
Membaca, Mengolah, dan Menampilkan Video
Pada langkah ini, akan membimbing Anda untuk membaca, mengolah dan menampilkan video
import cv2
# Inisialisasi video dari file
cap = cv2.VideoCapture('video.mp4')
# Ukuran baru yang diinginkan (misalnya: lebar, tinggi)
new_width = 640
new_height = 480
while True:
ret, frame = cap.read() # Membaca frame dari video
if not ret:
break
# Ubah ukuran frame
resized_frame = cv2.resize(frame, (new_width, new_height))
cv2.imshow('Video', resized_frame) # Menampilkan frame
if cv2.waitKey(1) & 0xFF == ord('q'): # Tekan 'q' untuk keluar
break
cap.release() # Melepas video
cv2.destroyAllWindows() # Menutup jendela tampilan
Pada kode di atas, kita memulai dengan mengimpor library OpenCV menggunakan pernyataan ‘import cv2’ Selanjutnya, menggunakan cv2.VideoCapture(‘video.mp4’)‘ untuk membuka dan menginisialisasi video yang akan dibaca.
Kemudian, menentukan ukuran baru (misalnya, lebar dan tinggi) untuk setiap frame video yang akan ditampilkan, dengan mengatur nilai variabel ‘new_width’ dan ‘new_height‘.
Selama proses, kita berada dalam suatu loop yang akan berjalan selama ada frame yang dapat dibaca dari video. Dalam setiap iterasi, akan membaca frame berikutnya menggunakan ‘cap.read()‘.
Jika berhasil membaca frame (dengan memeriksa nilai ‘ret’), lalu mengubah ukuran frame tersebut ke ukuran baru menggunakan ‘cv2.resize()’.
Selanjutnya, menampilkan frame yang telah diubah ukurannya dalam jendela yang diberi nama ‘video’ menggunakan ‘cv2.imshow()‘. Anda akan dapat melihat video tersebut bergerak dalam jendela yang ditampilkan.
Apabila tombol ‘q’ pada keyboard ditekan, kita akan keluar dari loop dan menutup jendela tampilan. Setelah itu, melepas video yang telah dibaca dengan menggunakan ‘cap.release()‘ dan menutup jendela tampilan dengan ‘cv2.destroyAllWindows()‘.
Meskipun hasilnya tidak bisa dilihat secara langsung di sini, Anda dapat mencoba menjalankan kode ini pada komputer Anda sendiri untuk melihat bagaimana video diproses dan ditampilkan.
Kesimpulan
Kita telah mempelajari cara membaca dan menampilkan gambar menggunakan OpenCV serta bagaimana mendeteksi objek dalam gambar menggunakan deteksi wajah sebagai contoh.
Selain itu, menjelajahi langkah-langkah dasar dalam pengolahan video, termasuk membuka, mengubah ukuran frame, dan menampilkan video, meski tidak bias melihat hasilnya secara langsung di sini.
Panduan ini telah memberikan dasar yang kokoh untuk memahami konsep dasar pengolahan gambar dan video menggunakan OpenCV. Dengan pemahaman ini kita telah membuka pintu untuk menjelajahi lebih lanjut dalam dunia Computer Vision dan aplikasi yang lebih canggih.
Catatan: Untuk mendapatkan gambar uji coba yang terkait dengan tutorial ini, silakan unduh dari tautan berikut:”link github“