Algoritma LBP (Local Binary Pattern) 4


Algoritma LBP (Local Binary Pattern) adalah salah satu algoritma yang dapat digunakan untuk melakukan klasifikasi berdasarkan tekstur gambar. Contoh yang dibahas kali ini adalah mengenai konversi gambar menjadi fitur gambar tersebut.



* Tentukan gambar utama yang digunakan
Kemudian lakukan konversi gambar tersebut menjadi grayscale
Diasumsikan gambar utama yang digunakan adalah
lena



Sebelum masuk kedalam langkah-langkah pembahasan algoritma, ada beberapa konstanta atau parameter yang harus diketahui, yaitu:
* Tentukan default pola yang digunakan untuk menyusun pola biner
Ada 2 kemungkinan cara penyusunan, yaitu
– searah jarum jam (clockwise)
– berlawanan jarum jam (counter-clockwise)

defaultPola = 'clockwise';

* Tentukan default mask atau blok data saat perhitungan lbp
Diasumsikan dalam kasus ini default mask adalah 3
Sehingga titik pusat dari masing-masing blok adalah posisi kedua

defaultMask = 3;
titikPusat = ceil((defaultMask+1)/2);


Langkah-langkah penggunaan algoritma ini adalah

1. Lakukan inisialisasi variabel output

jumlahBaris = size(input,1)-defaultMask+1;
jumlahKolom = size(input,2)-defaultMask+1;
outputLBP = zeros(jumlahBaris, jumlahKolom);

2. Lakukan perulangan untuk masing-masing blok

for i = 1:jumlahBaris
    for j = 1:jumlahKolom
	. . .

2a. Dapatkan blok yang sedang dihitung

mask = input(i:i+defaultMask-1,j:j+defaultMask-1);

2b. Hitung nilai threshold mask dengan perbandingan titik pusat

threshold = mask > mask(titikPusat,titikPusat);

2c. Dapatkan semua koordinat tetangga dari titik pusat menjadi sebuah vektor

lbpOriginal = [threshold(1,1) threshold(1,2) threshold(1,3) threshold(2,3) threshold(3,3) threshold(3,2) threshold(3,1) threshold(2,1)];

2d. Lakukan pembalikan vektor untuk digunakan dalam perhitungan berikutnya

lbpFlip = fliplr(lbpOriginal);

2e. Lakukan konversi angka biner menjadi angka desimal sebagai nilai output dari lbp
Jika pola yand digunakan adalah clockwise, maka lakukan konversi menggunakan vektor original
Jika pola yand digunakan adalah counter-clockwise, maka lakukan konversi menggunakan vektor flip

if (defaultPola=='clockwise')
	v = bi2de(lbpOriginal,2,'left-msb');
else
	v = bi2de(lbpFlip,2,'left-msb');
end

2f. Catat hasil nilai output pada variabel output

outputLBP(i,j) = v;


Hasil akhir adalah: (klik untuk perbesar gambar)

lbp-hasil-akhir


Contoh modul / source code menggunakan Matlab dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.


Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

4 pemikiran di “Algoritma LBP (Local Binary Pattern)