Catatan kali ini
berisi tentang program untuk mendeteksi garis akhir alias edge (entah
apa namanya kalo di translate bahasa Indonesia) dari sebuah object.
Software ini menggunakan python dan opencv package untuk image
processingnya.
Kodenya adalah
sebagai berikut:
import cv2
import sys
if __name__ ==
'__main__':
print __doc__
try: fn =
sys.argv[1]
except: fn = 0
def
nothing(*arg):
pass
#buat window
cv2.namedWindow('edge')
#buat trackbar
cv2.createTrackbar('thrs1', 'edge', 2000, 5000, nothing)
cv2.createTrackbar('thrs2', 'edge', 4000, 5000, nothing)
#face_cascade =
cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
#eye_cascade =
cv2.CascadeClassifier('haarcascade_eye.xml')
#ambil data
video
cap =
cv2.VideoCapture(-1)
while True:
flag, img =
cap.read()
gray =
cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thrs1 =
cv2.getTrackbarPos('thrs1', 'edge')
thrs2 =
cv2.getTrackbarPos('thrs2', 'edge')
edge =
cv2.Canny(gray, thrs1, thrs2, apertureSize=5)
vis =
img.copy()
vis /= 2
vis[edge !=
0] =(0, 255, 255)
#tampilkan
jendela gray dan edge
cv2.imshow('gray',gray)
cv2.imshow('edge', vis)
ch =
cv2.waitKey(5)
if ch == 27:
break
cv2.destroyAllWindows()
Compile dan jalankan, maka akan muncul jendela tampilan seperti
dibawah ini:
catatan:
Tentunya ada beberapa hal yang harus dipersiapkan, diantaranya adalah
webcam, dan software python itu sendiri. Karena saya menggunakan
ubuntu 14.04, software python sudah disediakan oleh OS ubuntu. Saya
hanya perlu webcam yang linux friendly dan menginstal package opencv
ke python yang saya miliki.
Satu hal lagi, saya menggunakan pycharm sebagai IDE programing
python.
Selamat mencatat!!
No comments:
Post a Comment