Anda di halaman 1dari 3

Mengubah Video menjadi Image dengan Matlab

Dalam kesempatan ini saya ingin mencoba berbagi cerita tentang pengolahan video (video
processing). Salah satu proses yang seringkali kita butuhkan dalam pengolahan video adalah
mengubah video tersebut menjadi gambar. Sebelumnya mari kita ulas terlebih dahulu mengenai
video. Seperti yang kita tahu video ini terdiri dari beberapa gambar yang terurut (image sequences)
disebut dengan frame. Dengan demikian kita dapat menghasilkan gambar dari suatu file video,
ataupun sebaliknya kita dapat menghasilkan file video dari beberapa gambar yang terurut tersebut.
Mari kita langsung lihat bagaimana cara mengambil gambar gambar/frame tersebut dari video
menggunakan matlab. Saya menggunakan matlab 2013a, mari langsung saja kita liat tahapan
tahapnanya :
1. Setup lokasi penyimpanan
Pada tahap ini akan dibuat sebuah folder yang akan digunkan sebagi tempat penyimpanan dari
hasil konversi video ke gambar tersebut.
pathDir = 'D:\Matlab\Coba\Video2ImageConvert';
workingDir = 'fileImg';
% Memebuat folder
mkdir(pathDir,workingDir);

Keterangan :
PathDir merupakan path atau lokasi dari folder yang akan dibuat.
WorkingDir merupakan nama dari folder yang akan dibuat.
Ketika ingin membuat folder pada lokasi dimana source code matlab ini terletak maka tidak
perlu menambahkan lokasi (pathDir). Sehingga pada code untuk pembuatan folder menjadi
mkdir(namaFolder).
2. Setup video
Pada tahap ini program akan membaca video kemudian memeriksa jumlah dari frame dalam
video tersebut.
video = mmreader('pedestrian.FLV');
file=read(video);
frm_cnt=video.NumberOfFrames

Keterangan :
Mmreader merupakan salah satu class dari matlab yang digunakan untuk membaca file
video.
Read merupakan salah satu fungsi dari class videoreader pada matlab yang digunakan
untuk membaca object. Dalam penerapan kali ini read berfungsi untuk membaca semua
frame dari video.
Untuk mendapatkan jumlah frame dari video tersebut maka sebagaimana telah tertulis pada
kode diatas menggunakan : NamaObj.NumberOfFrames.
Dalam percobaan ini kami menggunakan video berikut :
http://www.stats.ox.ac.uk/~wauthier/tracker/stgeorge.html
3. Setup waitbar

Tahap ini digunakan kerika ingin menambahkan window loading pada saat menunggu proses
konversi. Ini dapat berfungsi sebagai indikator proses berjalan sebagaimana mestinya atau tidak.
Dalam pembuatan waitbar ini terdapat 2 proses yaitu inisialisasi waitbar dan update waitbar.
Pada prinsipnya waitbar ini akan display dari waitbar ini akan diupdate sesuai dengan persentasi
proses yang dilakukan dalam program tersebut.
% inisialisasi waitbar
load = waitbar(0,'Please wait');
% update waitbar
waitbar(i/frm_cnt,load)

4. Konversi Video ke Gambar


Dalam tahap ini video tersebut akan dibaca per frame dan diinput pada sebuah variable
kemudian dibuat image dari varible tersebut.
% looping all frame
for i=1:frm_cnt
% read video per frame
frm=read(video,i);
% set label image
filename=[sprintf('image%03d',i) '.jpg'];
fullname= fullfile(workingDir,filename);
% create image from reading frame
imwrite(frm,fullname);
% update waitbar
waitbar(i/frm_cnt,load)
end

Program ini diulang sebanyak jumlah frame yang ada pada video tersebut, kemudian dilakukan
pembacaan video tiap framenya. Selanjutnya menyediakan label atau nama dari image dengan :
filename=[sprintf('image%03d',i) '.jpg'];
fullname= fullfile(workingDir,filename);

dimana sprintf ini digunakan untuk menggabungkan antara string dan variable sedangkan
fullfile digunakan untuk menentukan letak dari file image tersebut. Terakhir barulah membuat
image dari tiap tiap frame yang dibaca dengan sesuai format yang ditentukan:
imwrite(frm,fullname.

Apabila program matlab tersebut dijalankan, maka akan terbentuk gambar setiap frame dari video.
Sebagai berikut:

Anda mungkin juga menyukai