Jumat, 04 Mei 2012

Input Foto Menggunakan Webcam Dengan MATLAB

Di sini saya akan mencoba membantu teman-teman yang sedang mengalami kesulitan dalam mencari source code real-time pada MATLAB. Dalam kasus ini, saya menggunakan media webcam untuk mengambil foto objek data.

Pertama-tama cek terlebih dahulu apakah data acquisition toolbox pada MATLAB sudah terinstalisasi atau belum. Untuk mengakses webcam dilakukan langkah-langkah sebagai berikut :
  1. Cek data acquisition, dengan klik menu Start pada Matlab
   
     2.  Kemudian ketik “imaqhinfo” pada command window. Untuk lebih jelasnya lihat gambar berikut ini


           Untuk mendapatkan info tentang peralatannya, ketik:


info=imaqhwinfo['winvideo']

             
Perhatikan bahwa adaptor adalah “winvideo”. Setiap webcam yang terhubung diakses melalui adaptor ini.
  • Inisialisasi perangkat keras (adaptor) sebagai objek. Instruksi yang digunakan dalam matlab adalah: 
    obj = videoinput(adaptorname,deviceID,format)
  • Untuk mengetahui parameter deviceID, dan format, ketikkan perintah berikut dalam matlab:
get(vd)

  • Memberikan nilai pada parameter perangkat keras. Dengan perintah ‘get(vd)’, dapat diketahui parameter apa saja yang ada pada webcam. Lalu dari parameter tersebut, beberapa diantaranya bisa diset. Untuk mengetahui parameter apa saja yang bisa diset, gunakan perintah berikut ini: 
set(vd)
  • Buka preview window untuk melihat video pada saat runtime. Berikut adalah sintaksnya:
preview(vid);

Perintah ini akan membuka jendela yang sama dengan interface pada yahoo messanger webcam. Dan bisa melihat demo video webcam pada saat runtime.
  • Pengambilan gambar. Berikut adalah sintaksnya:
data = getsnapshot(vid);

Ini berarti variabel data menyimpan data citra digital yang telah diambil menggunakan webcam. Perintah ini akan menyimpan gambar dengan cepat ke dalam variabel data dalam sebuah matriks berukuran 320×240. Lalu, untuk menampilkan hasil snapshot tidak bisa menggunakan perintah imshow’. Karena data ini masih berupa data matriks, perlu menggunakan perintah lain untuk mengubah matriks tersebut ke citra lalu menampilkannya sebagai citra.



image(gambar);

atau

start(vid);

 im=getdata(vid,1);

 figure,imshow(im);
Di sini, variable vid harus didefinisikan terlebih dahulu, kemudian gunakan perintah “getdata” untuk mengambil gambar.


  • Penyimpanan gambar. Gambar bisa disimpan dalam bentuk .jpg atau .gif. Untuk menyimpan gambar dapat digunakan perintah imwrite”.
imwrite(im,’myfirstimage.jpg’);



Berikut ini adalah contoh source code yang saya gunakan:



% --- Executes on button press in Btn_gambar.
function Btn_gambar_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
imaqhwinfo;
foto=videoinput('
winvideo');
%foto=videoinput('
winvideo',1,'RGB24_13484480x2084362783');
set(foto,'
SelectedSourceName','input1');
foto.ReturnedColorSpace='
rgb';
foto.FramesPerTrigger=100;
%imaqmem('FrameMemoryLimit');
%axes(handles.axes1);
start(foto);
gambar=getsnapshot(foto);
imaqmontage(gambar);
image(gambar);
%axis
xy;
%axis 'autoy';




Keterangan: jika ingin mengatur nilai x dan y, hapus tanda '%'.


Semoga tulisan saya ini bermanfaat :) Selamat Mencoba!!! 

Tidak ada komentar:

Posting Komentar