Background Subtraction dengan Metode Pengurangan Citra Grayscale


Deteksi kendaraan adalah salah satu tahapan yang harus dilakukan dalam proses identifikasi kendaraan. Contoh pemrograman matlab untuk deteksi kendaraan dengan metode background subtraction pengurangan citra grayscale adalah sebagai berikut:

Langkah-langkahnya yaitu:

No Proses Background Frame
1 Baca Citra    
2 Konversi ruang warna RGB menjadi Grayscale    
3 Operasi pengurangan antara background dengan frame  
4 Thresholding dengan metode Otsu  
5 Operasi filling holes  
6 Menghilangkan obyek yang luasannya kurang dari 5000  
7 Membuat masking berdasarkan hasil deteksi foreground  
8 Menampilkan hasil deteksi foreground pada frame  
9 Menampilkan cropping hasil deteksi foreground  

Source code Matlab untuk deteksi kendaraan dengan metode background subtraction pengurangan citra grayscale dapat diunduh melalui laman berikut ini: Source Code

Sedangkan tampilan source codenya adalah:

clc;
close all;
clear;

% Membaca citra background
Background=imread('background.jpg');

% Membaca citra current frame
CurrentFrame=imread('original.jpg');

% Mengkonversi citra menjadi grayscale
Background_gray = rgb2gray(Background);
CurrentFrame_gray = rgb2gray(CurrentFrame);

% Pengurangan citra grayscale
Subtraction = (double(Background_gray)-double(CurrentFrame_gray));
Min_S = min(Subtraction(:));
Max_S = max(Subtraction(:));
Subtraction = ((Subtraction-Min_S)/(Max_S-Min_S))*255;
Subtraction = uint8(Subtraction);

% Mengkonversi citra menjadi biner menggunakan metode Otsu
Subtraction = ~im2bw(Subtraction,graythresh(Subtraction));

% Operasi Morfologi
bw = imfill(Subtraction,'holes');
bw = bwareaopen(bw,5000);

% Pembuatan masking dan proses cropping
[row,col] = find(bw==1);
h_bw = imcrop(CurrentFrame,[min(col) min(row) max(col)-min(col) max(row)-min(row)]);

[a,b] = size(bw);
mask = false(a,b);
mask(min(row):max(row),min(col):max(col)) = 1;
mask =  bwperim(mask,8);
mask = imdilate(mask,strel('square',3));

R = CurrentFrame(:,:,1);
G = CurrentFrame(:,:,2);
B = CurrentFrame(:,:,3);

R(mask) = 255;
G(mask) = 0;
B(mask) = 0;

RGB = cat(3,R,G,B);
figure, imshow(RGB);

Save

Posted on February 9, 2016, in Pengenalan Pola, Pengolahan Citra, Pengolahan Video and tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink. 19 Comments.

  1. mas punya refrensi mendeteksi objek tangan ga?
    trims sblmnya..

  2. Mas punya referensi perhitungan kecepatan kendaraan dengan matlab ? Trimakasih sblmnya..

  3. Misi.. mas punya referensi untuk perhitungan kecepatan kendaraan menggunkan matlab gak? Trimakasih sblmnya..

    • Algoritmanya:
      1. Tetapkan lintasan kendaraan (pada video) yang nantinya digunakan untuk menghitung kecepatan kendaraan
      2. Hitung panjang lintasan kendaraan pada video dalam satuan piksel
      3. Konversikan satuan panjang lintasan tsb menjadi meter dengan cara membaginya dengan resolusi spasial
      4. Hitung waktu yang dibutuhkan kendaraan untuk melintasi lintasan (pada video) dengan cara membagi banyak frame kendaraan pada lintasan dengan frame rate video
      5. Hitung kecepatan kendaraan dengan cara membagi panjang lintasan kendaraan (dalam satuan meter) dengan waktu tempuh (dalam satuan detik)

  4. Misi mas, Sy kesulitan dalm membuat lintasan di file videonya. Apa ada referensinya? Trimakasih seblmnya.

  5. mas jadi gini, sy lg ada project tugas akhir tentang Traffic light otomatis berdasar kepadatan jalan raya.
    jadi kepengen nya saya, proses pengambilan gambar citra jalan raya itu saat counter traffic light 5 detik terakhir lampu merah.
    bisa bantu saya code nya ga ya mas? makasih

  6. mas, untuk penghitungan gmn? kayak mobil dari atas ke bawah +1 kalau dari bawah ke atas -1 itu code-nya gmn?

  7. mas kalau kalau identifikasi sebuah objek menggunakan canny bisa ?

  8. mas untuk menngunkan foto sebagai latar belakang pada toolls AXES bagaimana?

  9. mas untuk mengidentifikasi nama objek pada suatu citra itu caranya gimana mas?

  10. Mas punya aplikasi matlab gak ?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: