Pengolahan Citra Video Stream Menggunakan OpenCV

Spread the love

Biasanya pengolahan citra dilakukan pada objek file gambar, file video ataupun video capture langsung dari kamera. Namun bagaimana jadinya jika kita hanya memiliki akses pada suatu video stream yang hanya berbentuk link / ip address?

Artikel ini terkait dengan post : Menjadikan Camera Android untuk Webcam

Contoh sederhananya, kita menggunakan video stream dari IP Webcam Android yang mana hanya memberikan alamat berupa ip address beserta portnya. Seperti tampilan berikut ini:

Screenshot Image

IP address yang diberikan beralamat di http://192.168.0.100:8080, lalu bagaimana caranya menggunakan alamat tersebut untuk dapat memroses video capturenya?

Tambahkan alamat ip address tersebut dengan /video dibelakangnya. Menjadi http://192.168.0.100:8080/video, kemudian coba dibuka lewat browser. Hasilnya berupa streaming video dari kamera smartphone kita. Dari alamat inilah, Open CV dapat menggunakannya sebagai input video capturenya.

Python Open CV

import cv2
import numpy as np
cap = cv2.VideoCapture('http://192.168.0.100:8080/video')
while True:
     __, frame = cap.read()
     greyscale = cv2.cvtColor(frame,cv2.COLOR_BGR2GREYSCALE)
     cv2.imshow('Video Stream',frame)
     cv2.imshow('Greyscale',greyscale)
     key = cv2.waitKey(1)
	if key == 27:
		break

cv2.destroyAllWindows()

Apabila terdapat security username dan password, maka diperlukan untuk mencantumkan username dan password didalam url dari video stream tersebut. Format yang digunakan adalah http://username:[email protected]:port/video atau misalnya http://reyzeal:[email protected]:8080/video.

Setelah video stream dapat diambil oleh OpenCV, maka pemrosesan citra dilakukan seperti file image, file video maupun video capture dari kamera langsung. Hanya saja apabila traffic jaringan sedang lelet, pemrosesan juga terkena imbas dari delay pengiriman video tersebut. Selebihnya, tidak ada perbedaan yang mencolok.

Leave a Reply

Your email address will not be published. Required fields are marked *