Analisis Tekstur Menggunakan Metode GLCM, LBP, dan FLBP
Pola tekstur merujuk pada pola visual yang berulang dalam citra atau gambar. Analisis tekstur merupakan bagian penting dari pengolahan citra dan pengenalan pola. Analisis ini berkaitan dengan ekstraksi informasi tentang pola tekstur dalam citra dan penggunaannya dalam berbagai aplikasi, termasuk pengenalan objek, analisis medis, dan deteksi benda.

Tiga metode yang sering digunakan untuk menganalisis tekstur adalah Gray-Level Co-occurrence Matrix (GLCM), Local Binary Pattern (LBP), dan Fuzzy Local Binary Pattern (FLBP). Dalam artikel ini, akan dijelaskan masing-masing metode ini dan bagaimana mereka digunakan dalam analisis tekstur.
Gray-Level Co-occurrence Matrix (GLCM)
GLCM adalah metode yang umum digunakan untuk mengukur keterkaitan antara dua piksel dalam citra berdasarkan tingkat keabuan (gray-level). GLCM menghasilkan matriks yang menggambarkan frekuensi kemunculan pasangan tingkat keabuan yang berdekatan dalam citra. Dari matriks kookurensi, kita dapat menghitung berbagai statistik, seperti kontras, homogenitas, energi, dan korelasi, yang menggambarkan pola tekstur dalam citra. Metode ini sangat berguna dalam pengenalan pola tekstur dalam berbagai aplikasi.
Local Binary Pattern (LBP)
LBP adalah metode yang bekerja dengan cara mengkodekan setiap piksel dalam citra berdasarkan tingkat keabuan piksel tetangganya. Ini menghasilkan kode biner lokal untuk setiap piksel dalam citra, yang kemudian dapat digunakan untuk mengidentifikasi pola tekstur. LBP adalah metode sederhana namun efektif untuk mengenali pola tekstur dalam citra. Ia sering digunakan dalam aplikasi seperti deteksi wajah, pengenalan objek, dan segmentasi citra.
Fuzzy Local Binary Pattern (FLBP)
FLBP adalah pengembangan dari LBP yang menggabungkan informasi tingkat keabuan dengan konsep fuzzy logic. Metode ini memungkinkan representasi yang lebih kuat dari pola tekstur dalam citra dengan mempertimbangkan ketidakpastian dalam nilai tingkat keabuan. Dengan memanfaatkan logika fuzzy, FLBP mampu mengatasi variasi kecil dalam tingkat keabuan dan menghasilkan representasi tekstur yang lebih tajam.
Penggunaan Metode-Metode ini dalam Analisis Tekstur
Ketiga metode ini dapat digunakan dalam berbagai aplikasi analisis tekstur. Misalnya, GLCM dapat digunakan untuk mengukur tekstur dalam citra medis seperti gambar sinar-X dan MRI. LBP sering digunakan dalam deteksi wajah dan segmentasi citra objek. FLBP, dengan kemampuannya dalam menangani ketidakpastian tingkat keabuan, cocok untuk analisis tekstur dalam citra yang kurang terstruktur atau berkualitas rendah.
Berikut ini pemrograman MATLAB implementasi metode GLCM, LBP, dan FLBP untuk menganalisis tekstur pada citra digital.
% Membaca citra
img = imread('contoh_gambar.jpg'); % Ganti dengan nama citra Anda
% Mengkonversi citra menjadi citra keabuan jika belum dalam format tersebut
if size(img, 3) == 3
imgGray = rgb2gray(img);
else
imgGray = img;
end
% GLCM (Gray-Level Co-occurrence Matrix)
glcm = graycomatrix(imgGray, 'Offset', [0 1; -1 1; -1 0; -1 -1], 'Symmetric', true);
stats = graycoprops(glcm, {'Contrast', 'Homogeneity', 'Energy', 'Correlation'});
% LBP (Local Binary Pattern)
radius = 1;
neighbors = 8;
lbpImage = extractLBPFeatures(imgGray, 'Radius', radius, 'NumNeighbors', neighbors);
% FLBP (Fuzzy Local Binary Pattern)
function flbpFeatures = extractFLBPFeatures(image)
% Konversi citra ke tingkat keabuan (grayscale)
grayImage = rgb2gray(image);
% Tentukan parameter LBP
radius = 1;
neighbors = 8;
% Ekstraksi LBP
lbpImage = extractLBPFeatures(grayImage, 'Radius', radius, 'NumNeighbors', neighbors);
% Inisialisasi matriks fuzzy membership
fuzzyMembership = zeros(size(lbpImage));
% Hitung fuzzy membership
for i = 1:size(lbpImage, 1)
for j = 1:size(lbpImage, 2)
% Hitung fungsi keanggotaan fuzzy
% Misalnya, menggunakan fungsi segitiga atau fungsi lain yang sesuai
% Di sini, kita menggunakan fungsi segitiga
fuzzyMembership(i, j) = fuzzyTriangle(lbpImage(i, j), min(lbpImage(:)), max(lbpImage(:)));
end
end
% Normalisasi fuzzy membership
fuzzyMembership = fuzzyMembership / sum(fuzzyMembership(:));
% Hitung FLBP fitur
flbpFeatures = sum(fuzzyMembership(:));
end
function membership = fuzzyTriangle(x, a, b)
if x < a
membership = 0;
elseif a <= x && x < (a + b) / 2
membership = 2 * ((x - a) / (b - a))^2;
elseif (a + b) / 2 <= x && x < b
membership = 1 - 2 * ((x - b) / (b - a))^2;
elseif x >= b
membership = 1;
end
end
% Menampilkan hasil
disp('Statistik GLCM:');
disp(stats);
disp('LBP:');
disp(lbpImage);
disp('FLBP:');
disp(fuzzyLBPImage);
Analisis tekstur adalah aspek penting dalam pengolahan citra dan pengenalan pola. Metode seperti GLCM, LBP, dan FLBP memberikan teknik yang berguna untuk menggambarkan dan mengidentifikasi pola tekstur dalam citra. Dengan memahami prinsip-prinsip dasar dan karakteristik masing-masing metode, kita dapat menggunakannya dalam berbagai aplikasi untuk mengungkapkan informasi dari citra dan data tekstur.
Source code beserta data lengkap pemrograman MATLAB di atas dapat diperoleh melalui halaman berikut ini: Source Code
Posted on September 7, 2023, in Pengenalan Pola, Pengolahan Citra and tagged analisis tekstur, ekstraksi fitur, Fuzzy Local Binary Pattern, glcm, Keanggotaan Fuzzy, Local Binary Pattern (LBP), logika fuzzy, Metode Ekstraksi Fitur, pemrograman matlab, pengolahan citra, Tingkat Keabuan. Bookmark the permalink. Leave a comment.



















































Leave a comment
Comments 0