close all;
clear all;
clc;
% spesifikasi format webcam yang digunakan
vid=videoinput('winvideo',1,'RGB24_640x480');
set(vid,'TriggerRepeat',Inf);
vid.returnedcolorspace='rgb';
vid.FrameGrabInterval=2;
start(vid)
while(vid.FramesAcquired<=100)
% mengambil citra dari video
data = getsnapshot(vid);
% Untuk mendeteksi objek berwarna merah yang bergerak
% Diperlukan pengurangan komponen warna merah
% Mengekstrak komponen warna merah dari citra grayscale
diff_im = imsubtract(data(:,:,1), rgb2gray(data));
% Filterisasi menggunakan filter median untuk menghilangkan noise
diff_im = medfilt2(diff_im, [3 3]);
% Konversi grayscale ke biner
diff_im = im2bw(diff_im,0.18);
% Menghilangkan semua pixel kurang dari 300 px
diff_im = bwareaopen(diff_im,300);
% Memberi label semua komponen yang terkoneksi pada citra
bw = bwlabel(diff_im, 8);
% Berikut ini adalah sintak untuk mengkarakterisasi tiap bagian label.
stats = regionprops(bw, 'BoundingBox', 'Centroid');
% Menampilkan citra hasil snapshot
imshow(data)
hold on
% Berikut adalah logika loop untuk membuat box kotak yang mengitari objek warna merah.
for object = 1:length(stats)
bb = stats(object).BoundingBox;
bc = stats(object).Centroid;
rectangle('Position',bb,'EdgeColor','r','LineWidth',2)
plot(bc(1),bc(2), '-m+')
a=text(bc(1)+15,bc(2),strcat('X:',num2str(round(bc(1))),'Y:',num2str(round(bc(2)))));
set(a,'FontName','Arial','FontWeight','bold','FontSize',12,'Color','red');
end
hold off
end
end
stop(vid)
Output Program:
Gamabar 1. Deteksi warna dengan Live Video menggunakan MATLAB
Dari pendeteksian warna ini, kita akan memperoleh data kordinat XY dari frame pixel, sehingga ketika pbjek bergerak, perubahan posisinya akan terekam dan dapat disimpan untuk keperluan lainnya menggunakan fungsi Tic Toc pewaktu MATLAB. Untuk contohnya adalah ketika objek bola merah diatas digerakan maka akan diperoleh pendeteksian lintasan objek berikut:
Gambar 2. Deteksi perubahan posisi objek tiap waktu
Copyright @ 2013 Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Untuk keterangan lebih lanjut dapat menghubungi:
madasws@gmail.com
madasws@uinsgd.ac.id
Untuk keterangan lebih lanjut dapat menghubungi:
madasws@gmail.com
madasws@uinsgd.ac.id
kok nggak jadi..
BalasHapus