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
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)
Contoh modul / source code menggunakan Matlab dapat didownload disini:
[sdm_download id=”3317″ fancy=”0″]
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.
Leave a Reply