Berikut adalah kode matlab untuk proses akuisisi gambar, streaming via webcam.
Pertama, kita ketahui dahulu format gambar yang bisa disediakan oleh webcam yang kita gunakan.
info = imaqhwinfo('winvideo')
info.DeviceInfo.SupportedFormats
Misal Matlab akan memberikan balikan.
>> info = imaqhwinfo('winvideo')
info.DeviceInfo.SupportedFormats
info =
AdaptorDllName: 'C:\MATLAB701\toolbox\imaq\imaqadaptors\win32\mwwinvideoimaq.dll'
AdaptorDllVersion: '1.7 (R14SP1)'
AdaptorName: 'winvideo'
DeviceIDs: {[1]}
DeviceInfo: [1x1 struct]
ans =
Columns 1 through 5
'RGB24_1280x960' 'RGB24_160x120' 'RGB24_176x144' 'RGB24_320x240' 'RGB24_352x288'
Columns 6 through 7
'RGB24_640x480' 'RGB24_800x600'
Kita bisa gunakan format video sesuai dengan yang dibutuhkan.
Berikut kode matlab untuk akuisisi dengan menggunakan format ‘RGB24_160x120′.
clc
clear all
close all
imaqreset
vid = videoinput('winvideo',1,'RGB24_160x120');
set(vid,'TriggerRepeat',Inf);
set(vid,'FramesPerTrigger',15);
figure; % Ensure smooth display
set(gcf,'doublebuffer','on');
start(vid)
threshold = 0;
while(vid.FramesAcquired<=500)
data = getdata(vid,1);
imshow(data);
end
stop(vid)
delete(vid)
clear
close(gcf)
Jika output format dari webcam adalah YUY2 misal ‘YUY2_160x120′, maka tambahkan setting
set(vid,’ReturnedColorSpace’,'rgb’);
agar memberikan output sudah dalam bentuk RGB.
Berikut contoh kodenya.
clc
clear all
close all
imaqreset
vid = videoinput('winvideo',1,'YUY2_160x120');
set(vid,'ReturnedColorSpace','rgb');
set(vid,'TriggerRepeat',Inf);
set(vid,'FramesPerTrigger',15);
figure; % Ensure smooth display
set(gcf,'doublebuffer','on');
start(vid)
threshold = 0;
while(vid.FramesAcquired<=500)
data = getdata(vid,1);
imshow(data);
end
stop(vid)
delete(vid)
clear
close(gcf)
kode imaqreset digunakan karena terkadang saat mengakses webcam seringkali terjadi error. Untuk itu, koneksi webcam perlu direset.
Senin, 27 Januari 2014
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar