Fungsi import cv2 pada python

OpenCV (open source computer vision) merupakan sebuah pustaka bahasa pemograman yang ditujukan untuk penggunaan pengolahan citra secara waktu nyata. Secara original, OpenCV dikembangkan oleh Intel, kemudian didukung oleh Willow Garage dan kemudian Itseez (yang diakuisisi oleh Intel). Pustaka OpenCV sudah mendukung lintas platform dan dapat digunakan dengan gratis untuk digunakan di bawah lisensi BSD Open-source. Dalam perkembangannnya, OpenCV sudah mendukung beberapa framework untuk deep-learning seperti TensorFlow, YOLO, Torch/PyTorch dan Caffee. Beberapa model terbaru yang mendukung ada pada daftar berikut ini.

- OpenCV-Python

Ya, pada tutorial kali ini, kita akan menggunakan Python untuk membahas OpenCV-nya. Jadi, jika kalian masih belum paham atau pengen belajar tentang Python, bisa membaca tutorial Dasar Python sebelumnya pada tautan berikut. *) jangan lupa untuk di-star ya repo nya...

Mengapa Python? kurang lebih karena bahasa Python lebih mudah dibaca dalam Bahasa Inggris. Selain itu, juga lumayan cepat dalam komputasinya, meski tak secepat bahasa C++. Akan tetapi, dari kemudahan terbacanya tersebut, dapat memudahkan pembelajar untuk memahaminya. Jadi, tetap semangat ya untuk belajar hal yang mungkin baru.

Untuk Python yang akan digunakan pada tutorial ini adalah versi

import cv2

# Panggil citra digital dengan nama anu.jpeg
# dan memasukkannya pada variabel img
img = cv2.imread("anu.jpeg", 0)
0 sedangkan untuk OpenCV nya digunakan
import cv2

# Panggil citra digital dengan nama anu.jpeg
# dan memasukkannya pada variabel img
img = cv2.imread("anu.jpeg", 0)
1

- Tentang tutorial ini

Tutorial ini ditujukan untuk kalian yang baru atau belum penah memahami OpenCV sebagai sebuah pustaka pada bahasa pemograman. Oleh karenanya, tutorial ini berisi tentang sedikit teori dasar dari pengolahan citra digital yang nantinya akan diberi tutorial penggunaannya menggunakan pustaka OpenCV. Ya, setidaknya kalian sudah membaca bagaimana toeri yang sebenarnya terjadi pada tiap pustaka dan fungsinya. Kebanyakan pada pustaka OpenCV hanya disediakan fungsi-fungsi yang sudah jadi saja. Selain itu, pada akhir pembahasan tiap bab nya, akan kami sematkan sebuah video yang bisa kalian gunakan sebagai suplemen atau patokan tutorialnya bekerja.

Apabila kalian mengalami permasalahan pada contoh kode yang disematkan atau ingin berkontribusi pada Tutorial Dasar OpenCV ini, kalian bisa email kami pada de.mhnd[at]gmail[dot]com

- Apa saja keuntungannya?

Keuntungannya mungkin tidak ada selain hanya sharing ilmu tentang OpenCV menggunakan Pyhton. Jadi, kalian bisa menggunakan ilmu yang ada didalamnya untuk kebutuhan kalian pribadi atau yang lainnya. tetapi bukan tulisannya ya... lantas kalian langsung menduplikat semua atau sebagian isi dari tutorial ini untuk dibuat buku, skripsi, atau laporan kalian. Bukan begitu cara mainnya. Kami hanya membagi ilmu ini dalam Bahasa Indonesia.

import cv2

# Panggil citra digital dengan nama anu.jpeg
# dan memasukkannya pada variabel img
img = cv2.imread("anu.jpeg", 0)
2.

- Ayo mulai belajar!

Langkah pertama yang bisa kalian buat adalah membuat akun github dan mem-fork atau star tutorial ini agar kalian mudah mencari atau kalian bisa bookmark tutorial ini pada browser kalian.

Contributor

  • yogidm
2. Instalasi OpenCV-Python

Target pembahasan:

  • Cara instalasi pada Windows
  • Cara instalasi pada Linux/Ubuntu
  • Tes keberhasilan instalasi

Ada beberapa sistem operasi yang sering digunakan di Indonesia, yaitu Windows, Linux dan Mac. Nah, kita akan menjelaskan dasar instalasinya.

- Instalasi pada Windows

  • Download Python 3.6.x pada tautan berikut (Release Date: Dec. 24, 2018). Klik dan unduh
    import cv2
    
    # Panggil citra digital dengan nama anu.jpeg
    # dan memasukkannya pada variabel img
    img = cv2.imread("anu.jpeg", 0)
    3 pada daftar tabel di bagian bawah.

Fungsi import cv2 pada python

  • Double klik file tersebut, dan jangan lupa beri tanda contreng pada Add PATH Python 3.6.x. lalu lanjutkan instalasi Python seperti biasanya.
  • Setelah sudah selesai proses instalasi, barulah kita mulai instalasi OpenCV. Masuk pada
    import cv2
    
    # Panggil citra digital dengan nama anu.jpeg
    # dan memasukkannya pada variabel img
    img = cv2.imread("anu.jpeg", 0)
    4 Windows.
    import cv2
    
    # Panggil citra digital dengan nama anu.jpeg
    # dan memasukkannya pada variabel img
    img = cv2.imread("anu.jpeg", 0)
    5, ketikkan
    import cv2
    
    # Panggil citra digital dengan nama anu.jpeg
    # dan memasukkannya pada variabel img
    img = cv2.imread("anu.jpeg", 0)
    6.
  • Install opencv-python 4.1.x via pip dengan mengetikkan
    import cv2
    
    # Panggil citra digital dengan nama anu.jpeg
    # dan memasukkannya pada variabel img
    img = cv2.imread("anu.jpeg", 0)
    7
  • Numpy akan terinstall otomatis satu paket dengan instalasi opencv-python
  • Jika instalasi keduanya berhasil, maka selesai dan siap untuk digunakan. Jika masih terjadi error, maka copy and paste errornya pada search engine. Semoga error tersebut ada di
    import cv2
    
    # Panggil citra digital dengan nama anu.jpeg
    # dan memasukkannya pada variabel img
    img = cv2.imread("anu.jpeg", 0)
    8 :D

- Instalasi pada Ubuntu/Linux

Untuk instalasi pada Ubuntu/Linux, kalian bisa membuka terminal dengan menekan

import cv2

# Panggil citra digital dengan nama anu.jpeg
# dan memasukkannya pada variabel img
img = cv2.imread("anu.jpeg", 0)
9 dan memasukkan perintah berikut:

  • Python 3.6.x
    cv2.imshow ('Gambar', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    0
  • OpenCV-Python 4.1.x via pip3
    import cv2
    
    # Panggil citra digital dengan nama anu.jpeg
    # dan memasukkannya pada variabel img
    img = cv2.imread("anu.jpeg", 0)
    7
  • Numpy sudah sepaket terinstall dengan OpenCV

- Instalasi pada Mac

Nah, silahkan cari sendiri ya... Author belum pernah menggunakan mac, jadi kurang lebih sama dengan linux sepertinya. :D

- Test instalasi kalian

Nah, apakah instalasi kalian sudah benar dan sukses? Kalian bisa membuat sebuah demo untuk mengakusisi citra dari kamera webcam kalian.

  • Buka
    cv2.imshow ('Gambar', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    2 sebagai editor Python kalian.
  • Buat
    cv2.imshow ('Gambar', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    3
  • Masukkan kode berikut ini:

import cv2
cap=cv2.VideoCapture(0)

while(True):
    ret,frame=cap.read()
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
        
cap.release()
cv2.destroyAllWindows()

  • Simpan dokumen tersebut sesuai keinginan kalian.
  • Run dengan menekan tombol
    cv2.imshow ('Gambar', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    4.
  • Kurang lebih akan menunjuukkan tampilan seperti gambar berikut ini.

Fungsi import cv2 pada python

  • Tekan tombol
    cv2.imshow ('Gambar', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    5 untuk keluar dari program capture kamera.

Nah, setelah instalasi kalian sukses, mari kita lanjutkan pada bab selanjutnya.

3. Memulai Fitur GUI pada OpenCV

3.1. Menggunakan Citra Digital

Target pembahasan:

  • Dapat membaca citra dari sebuah file citra digital
  • Dapat menulis citra hasil pengolahan
  • Menampilkan citra pada jendela menggunakan FItur GUI OpenCV
  • Menggunakan keyboard event

- Membaca Citra Digital

Citra digital dapat kita panggil pada proyek Python kita menggunakan fugnsi

cv2.imshow ('Gambar', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
6. Untuk pembacaan citra yang bisa dipanggil, hanya pada direktori yang sama dengan letak direktori dari dokumen Python itu disimpan. Jadi, jangan lupa memindah lokasi gambar yang akan digunakan pada folder yang sama dengan dokumen kalian ya...

Untuk isian dari

cv2.imshow ('Gambar', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
7 kedua fungsi tersebut, dapat digunakan:

  • cv2.imshow ('Gambar', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    8 : atau
    cv2.imshow ('Gambar', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    9 yang berartikan memanggil citra berwarna dengan 3 dimensi yaitu BGR.
  • cv2.IMREAD_GRAYSCALE : atau
    cv2.imwrite('burung.png',img)
    0 yang memanggil citra dengan 1 dimensi atau citra keabuan
  • cv2.IMREAD_UNCHANGED : atau
    cv2.imwrite('burung.png',img)
    1 yang memanggil citra tanpa adanya perubahan seperti citra dengan kanal alpha.

Coba buat sebuah dokumen baru dan tuliskan kode berikut didalamnya.

import cv2

# Panggil citra digital dengan nama anu.jpeg
# dan memasukkannya pada variabel img
img = cv2.imread("anu.jpeg", 0)

untuk gambar

cv2.imwrite('burung.png',img)
2 , kita dapat menggunakan gambar berikut. Silahkan unduh disini atau klik kanan gambar dibawah ini lalu
cv2.imwrite('burung.png',img)
3.

Fungsi import cv2 pada python

ketika dokumen tersebut sudah disimpan dengan satu direktori dengan gambar tersebut, apabila di

cv2.imwrite('burung.png',img)
4 maka tidak akan ada tampilan gambar sama sekali hingga kita menampilkannya menggunakan fitur GUI dari OpenCV.

- Menampilkan Citra Digital

Menampilkan citra yang sudah dipanggil dan dirubah menjadi sebuah variabel, maka kita bisa menggunakan fungsi

cv2.imwrite('burung.png',img)
5 untuk menampilkan citra pada variabel tersebut. Untuk jendela untuk menampilkan citra, akan secara otomatis menyesuaikan dengan ukuran citranya. pada penulisan fungsinya, ada beberapa masukan, yaitu nama windownya dan diikuti dengan nama variabel yang berisikan citra yang akan ditampilkan. Coba kode berikut dibawah kode pembacaan citra digital diatas.

cv2.imshow ('Gambar', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Apabila kalian menjalakan programnya, maka akan menampilkan gambar seperti berikut:

Fungsi import cv2 pada python

pada baris

cv2.imwrite('burung.png',img)
6 merupakan sebuah fungsi untuk menahan frame atau citra yang sedang kita gunakan. Dengan kata lain, apabila kita menggunakan banyak frame, kita tidak perlu menahannya dengan memberikan nilai selain
cv2.imwrite('burung.png',img)
0.

pada baris

cv2.imwrite('burung.png',img)
8 merupakan sebuah fungsi untuk menutup semua jendela yang aktif pada sebuah program yang berjalan. Biasanya kita bisa menggabungkan dengan perintah
cv2.imwrite('burung.png',img)
9 (seperti pada kode tes instalasi pada bab 2).

- Menyimpan gambar menjadi sebuah file

Menyimpan gambar hasil pengolahan citra digital pada OpenCV dapat digunakan fungsi

import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
0. Untuk nama file, kalian bisa menggunakan
import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
1 atau
import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
2 atau sesuai dengan kebutuhan kalian. Jika hasil citra kalian dalam bentuk citra biner, gunakan format
import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
3 untuk hasil yang lebih baik. File akan disimpan pada direktori yang sama dengan letak dokumen disimpan.

cv2.imwrite('burung.png',img)

- Gabungkan semua kodenya

Kode diatas merupakan kepingan kode yang memanggil dan menampilkannya pada jendela menggunakan fitur GUI pada OpenCV. Mari kita gabungkan kesemuanya.

import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()

Apabila dijalankan maka akan muncul dua jendela gambar seperti berikut ini

Fungsi import cv2 pada python

Apabila kita menekan tombol

import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
4, program akan menyimpan pada direktori seperti gambar berikut.

Fungsi import cv2 pada python

3.2. Menggunakan Video

Target pembelajaran:

  • Megetahui pembacaan video dari lokal direktori cv2.VideoCapture()
  • Mengetahui pembacaan video dari kamera
  • Mengetahui proses menyimpan video dari kamera cv2.VideoWriter()

Sebuah video biasanya sering disebut dengan image sequence atau citra digital yang urutan waktu atau juga dalam urutan frame. Biasanya pada tiap detik, sebuah video memiliki 24 atau 30 frame. Oleh karenanya, kita sering mendengar istilah

import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
5 atau frame per secon. Nah, dari sini, sebuah pengolahan video identik dengan pengolahan citra, hanya saja citranya dalam jumlah yang banyak dan berurutan. Untuk mengolah sebuah video pada pembahasan ini, kita akan membutuhkan sebuah video. Kalian bisa mengunduhnya pada tautan berikut (1MB) dengan format
import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
6 dengan
import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
7 seperti gambar di bawah ini.

Fungsi import cv2 pada python

- Membaca Video dari direktori lokal

Membaca sebuah video dari direktori lokal merupakan sebuah fungsi yang biasanya kita memasukkan videonya pada lokasi yang sama dengan dokumen python kita (sama dengan pembacaan citra pada bab 3.1). Hanya saja pada pembacaan video, perintahnya yang berbeda. Perintah atau fungsi tersebut adalah

import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
8. Pada fungsi ini, kita diberikan dua pilihan masukan. Angka untuk masukan dari webcam dan string untuk masukan dari file. Semisal pada pembacaan video dari lokal direktori, kita dapat menggunakan perintah berikut:
import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
9. Dari pembacaan video tersebut, kita juga membutuhkan sebuah perulangan untuk membaca video untuk semua frame yang ada di video tersebut.

Dalam hal ini kita menggunakan

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
0 ketika video sedang dibuka/dibaca. Selama video terbaca, maka lakukan pengolahan citra pada tiap frame nya dan kita juga bisa menampilkan kondisi dari pengolahan citranya secara langsung. Untuk dapat menahan hasil pengolahan tiap frame nya, kita juga membutuhkan fungsi
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
1 seperti pada pembahasan bab 3.1, namun pada pembacaan video, nilai tunggunya tidak boleh bernilai 0 atau diam. Coba amati kode berikut:

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()

Ketika kode di atas dijalankan, kurang lebih akan menghasilkan gambar seperti berikut ini:

Fungsi import cv2 pada python

- Menggunakan capture webcam

Capture camera menggunakan webcam dapat kita lakukan dengan menggunakan fungsi yang sama dengan membaca video, hanya saja isian fungsinya diberikan addres dari webcamnya. Pada umumnya, sebuah build-in webcam yang ada di laptop memiliki address

cv2.imwrite('burung.png',img)
0. Apabila kita menghubungkan sebuah eksternal webcam pada laptop kita, maka addressnya adalah
cv2.imshow ('Gambar', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
9. Sedangkan ketika kita menggunakan sebuah PC atau miniPC (Raspi) yang tidak memiliki build-in webcam, maka address nya dimulai dari
cv2.imwrite('burung.png',img)
0 hingga berapa jumlah webcam yang tertancap secara berurutan akan menambah. Jadi, untuk fungsi yang akan diubah adalah pada baris
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
5. Kurang lebih kode lengkapnya seperti berikut ini.

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()

Maka hasilnya kurang lebih akan seperti gambar berikut ini.

Fungsi import cv2 pada python

Untuk menambah capture camera yang ada, semisal kita akan menggunakan 2 buah kamera, maka kita juga harus menambah variabel capture kameranya juga. Kurang lebih untuk kodenya seperti berikut ini.

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)
cap2 = cv2.VideoCapture(1)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah
    ret2, frame2 = cap2.read()
   
    # Tampilkan frame
    cv2.imshow('Kamera 1',frame)
    cv2.imshow('Kamera 2',frame2)
    
    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()

Maka hasilnya kurang lebih akan seperti gambar berikut ini.

Fungsi import cv2 pada python

Beberapa fungsi lainnya dari capture kamera yang biasanya dapat digunakan seperti dimensi capture dari kamera, set brightness, set contrass, dan sebagainya. Ada 18 fungsi yang bisa kita dapatkan. Berdasarkan pada parameter berikut, kita bisa menuliskannya dengan perintah

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
6 atau
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
7. Semisal kita akan mengubah tinggi dan lebar dimensi capture menjadi
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
8, kita dapat menggunakan:

cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)

Untuk mendapatkan informasi dari

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture('video_ori.mp4')

while(cap.isOpened()): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame Gray',gray)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
9, kita dapat menggunakan fungsi
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
0 atau
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
1. dari nilai balikan tersebut, biasanya kita dapat menggunakannya untuk pengolahan citra yang membutuhkan variabel dari dimensi capture.

Ketika kamera kalian tidak dapat terhubungkan dengan python, pastikan dahulu kamera kalian dapat diakses menggunakan aplikasi webcam seperti 'cheese' pada linux atau 'camera' pada Windows.

- Menyimpan hasil capture menjadi video

Pada bab sebelumnya, kita dapat menulis (membuat) sebuah citra baru dan menyimpannya mengunakan perintah

import cv2

# Panggil citra digital dengan nama anu.jpeg
img = cv2.imread("anu.jpeg", 0)

imb = img.copy() # Buat duplikat dari variabel img
imb[imb>100]=255 # Buat citra biner
imb[imb<100]=0

cv2.imshow ('Gambar', img)
cv2.imshow ('Gambar BW', imb)
k = cv2.waitKey(0)

if k == 27:         # menunggu hingga tombol ESC ditekan dan keluar
    cv2.destroyAllWindows()
elif k == ord('s'): # menunggu hingga tombol 's' ditekan dan simpan
    cv2.imwrite('burung.png',img)
    cv2.imwrite('burungBW.bmp',imb)
    cv2.destroyAllWindows()
0. Akan tetapi pada pembahasan kali ini, kita akan menyimpan sebuah citra tersebut secara berurutan tiap frame yang terbentuk menjadi sebuah video.

Fungsi yang bisa kita gunakan adalah

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
3. Pada fungsi ini, kita harus menentukan secara spesifik format keluaran video tersebut, semisal
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
4. Oleh karenanya kita juga harus menentukan secara spesifik encoder
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
5 yang akan kita gunakan, berapa frame per detiknya (fps), dimensi tiap framenya, dan setidaknya penggunaan warna
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
6 atau tidak (grayscale) pada flag yang telah disediakan sudah terisi dan diterapkan pada encodernya.

FourCC merupakan sebuah 4-byte code yang digunakan sebagai encoder video. Beberapa daftar yang biasa digunakan adalah sebagai berikut

  • Pada Ubuntu 16.04 (yang saya gunakan): DIVX, XVID, MJPG, X264, WMV1, WMV2. (XVID yang sering banyak digunakan. MJPG menjadikan video dengan ukuran besar. X264 menjadikan video dengan ukuran kecil)
  • Pada Windows DIVX (Cari infonya sendiri ya tentang DIVX)
  • Pada MacOS (nah, saya sendiri belum pernah menggunakan ini :D )

Untuk menggunakan atau menerapkan FourCC pada OpenCV kita, kita dapat menggunaka perintah

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
7 atau
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
8 untuk MJPG. Begitu juga ketika kita menggunakan
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah

    # ubah ke Gray dan ke biner
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # ubah dari gray ke biner
    biner = gray.copy()
    biner[biner>70]=255
    biner[biner<70]=0

    
    # Tampilkan frame
    cv2.imshow('Frame Ori',frame)
    cv2.imshow('Frame gray',gray)
    cv2.imshow('Frame BW',biner)

    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
9 atau
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)
cap2 = cv2.VideoCapture(1)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah
    ret2, frame2 = cap2.read()
   
    # Tampilkan frame
    cv2.imshow('Kamera 1',frame)
    cv2.imshow('Kamera 2',frame2)
    
    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
0. Kalian bisa mengubah argumen pada fungsinya.

Kode berikut merupakan sebuah contoh kode untuk menyimpan video yang diambil dari kamera webcam.

import cv2

cap = cv2.VideoCapture(0)

# seting Codec yang akan digunakan yaitu XVID
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('keluaran.mp4',fourcc, 20.0, (640,480))

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        # gunakan baris dibawah ini jika dibutuhkan
        #frame = cv2.flip(frame,0)
        
        out.write(frame)
        
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

# matikan semua perangkat yang aktif
cap.release()
out.release()
cv2.destroyAllWindows()

Kode diatas melakukan capture kamera setiap framenya. Pada perulangan yang terjadi (apabila kamera telah dibuka), frame akan dibaca. Setelah itu, pada bagian ini frame tersebut dapat kita olah semisal melakukan perubahan flip atau pengubahan ruang warna ke grayscale. Nah setelah frame dilakukan pengolahan, maka langkah selanjutnya akan disimpan menggunakan fungsi

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)
cap2 = cv2.VideoCapture(1)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah
    ret2, frame2 = cap2.read()
   
    # Tampilkan frame
    cv2.imshow('Kamera 1',frame)
    cv2.imshow('Kamera 2',frame2)
    
    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
1 pada masing-masing framenya. Selama kamera masih terbuka, maka frame akan terus menyimpan dan menjadikannya sebuah video. Untuk menghentikan bukaan kamera, dapat menekan tombol
cv2.imshow ('Gambar', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
5 pada keyboard kalian dan proses penyimpanan tiap frame menjadi video sudah selesai. Video yang disimpan diberi nama
import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)
cap2 = cv2.VideoCapture(1)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah
    ret2, frame2 = cap2.read()
   
    # Tampilkan frame
    cv2.imshow('Kamera 1',frame)
    cv2.imshow('Kamera 2',frame2)
    
    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
3.

Lalu mengapa video yang sudah disimpan, ketika diputar, video nya tidak menghasilkan suara? nah... pada kasus ini, kita hanya menyimpan sebuah video dalam artian menyipan setiap frame yang berhasil di capture melalui kamera menjadi sebuah video. Dengan begitu, audio tidak ikut tersimpan. Untuk menyimpannya, coba cari saja dulu ya... (saya belum pernah mencobanya, karena fokus bahasannya bukan pengolahan audio melainkan video atau citra beruntun) :*

Untuk tempat penyimpanan videonya, berada pada letak dokumen disimpan. Jadi masih satu direktori dengan file

import cv2 # Masukkan pustaka OpenCV

# Membaca file video dan masukkan pada variabel
cap = cv2.VideoCapture(0)
cap2 = cv2.VideoCapture(1)

while(True): # lakukan pembacaan pada semua frame
    ret, frame = cap.read() #frame siap untuk diolah
    ret2, frame2 = cap2.read()
   
    # Tampilkan frame
    cv2.imshow('Kamera 1',frame)
    cv2.imshow('Kamera 2',frame2)
    
    # Tahan frame selama 1ms
    if cv2.waitKey(1) & 0xFF == ord('q'): 
        break
# Lepas capture dan tutup semua jendela
cap.release()
cv2.destroyAllWindows()
4 nya ya... seperti gambar berikut.

Fungsi import cv2 pada python

3.3 Menggunakan Fungsi Drawing

Target pembelajaran:

  • Megetahui fungsi dasar menggambar menggunakan beberapa bentuk bangun datar menggunakan OpenCV
  • Menggambar objek menggunakan fungsi
    import cv2 # Masukkan pustaka OpenCV
    
    # Membaca file video dan masukkan pada variabel
    cap = cv2.VideoCapture(0)
    cap2 = cv2.VideoCapture(1)
    
    while(True): # lakukan pembacaan pada semua frame
        ret, frame = cap.read() #frame siap untuk diolah
        ret2, frame2 = cap2.read()
       
        # Tampilkan frame
        cv2.imshow('Kamera 1',frame)
        cv2.imshow('Kamera 2',frame2)
        
        # Tahan frame selama 1ms
        if cv2.waitKey(1) & 0xFF == ord('q'): 
            break
    # Lepas capture dan tutup semua jendela
    cap.release()
    cv2.destroyAllWindows()
    5, dsb.

Penggunaan fungsi menggambar (Drawing) sebuah objek, biasanya digunakan untuk menunjukkan sebuah operasi berhasil atau gagal dilakukan oleh sistem yang dibangun. Jadi, fungsi ini nantinya akan sering kita gunakan pada pengenalan pola, akuisisi objek, pemberian informasi, penunjukan letak, atau pemberian informasi kepada manusia (interface). Nah, dari sini berbagai informasi, selain citra itu sendiri, dapat didapatkan. Dengan teknik menggambarkan dimana letak fokus informasinya pada sebuah pengolahan citra tersebut, manusia akan lebih mudah mengetahuinya. Oleh karenanya, pastikan kalian sudah memahami betul teknik ini ya...

- Kode Dasar

Pada teknik menggambar menggunakan OpenCV, kode dasar yang sering kalian gunakan dan argumen-argumennya, seperti berikut ini:

Apa fungsi cv2?

cv2.cvtColor(source_img, color_space) merupakan fungsi yang di gunakan untuk melakukan konversi color space. Seperti yang sudah kita dibahas sebelumnya defaul dari Opencv merupakan BGR.

cv2 waitKey untuk apa?

Dan fungsi “cv2.waitKey(0)” berfungsi untuk menunggu perintah selanjutnya. Pada baris terakhir dari program di atas, digunakan atau berfungsi untuk menghentikan Open CV. Dengan menekan tombol “Esc” pada keyboard, Open CV dan kamera akan otomatis berhenti(off).