Segmentasi Pola Tekstur menggunakan Filter Gabor


Kemampuan sistem visual manusia dalam membedakan pola tekstur didasarkan pada kapabilitas dalam mengidentifikasikan berbagai frekuensi dan orientasi spasial dari tekstur yang diamati.

Filter Gabor merupakan salah satu filter yang mampu mensimulasikan karakteristik sistem visual manusia dalam mengisolasi frekuensi dan orientasi tertentu dari citra.

Karakteristik ini membuat filter Gabor sesuai untuk aplikasi pengenalan tekstur dalam bidang computer vision.

Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan segmentasi pola tekstur dari suatu citra menggunakan filter Gabor. Koding dapat dijalankan minimal menggunakan Matlab R2015b.

Langkah-langkah pemrogramannya yaitu:
1. Membaca dan menampilkan citra asli

clc;clear;close all;

% Read the image
I = imread('metal texture.jpg');
figure,imshow(I);
title('Original Image');

sehingga diperoleh tampilan

2. Melakukan filtering citra dengan λ = 4 dan θ = 45

% Orientation 45
J = rgb2gray(I);
wavelength = 4;
orientation = 45;
[mag45,phase45] = imgaborfilt(J,wavelength,orientation);
figure,imshow(mag45,[]);
title('Gabor magnitude (orientation = 45)');
figure,imshow(phase45,[]);
title('Gabor phase (orientation = 45)');

dihasilkan citra magnitude dan phase seperti ditunjukkan pada gambar di bawah ini

3. Melakukan operasi thresholding terhadap citra magnitude dengan nilai threshold sebesar 1000

bw45 = mag45>1000;
figure, imshow(bw45);
title('Binary image (orientation = 45)');

diperoleh citra biner hasil segmentasi

4. Memvisualisasikan hasil segmentasi terhadap citra asli

% RGB Channel Extraction
R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);

R45 = R;
G45 = G;
B45 = B;

R45(bw45) = 0;
G45(bw45) = 0;
B45(bw45) = 255;
rgb45 = cat(3,R45,G45,B45);
figure, imshow(rgb45);
title('Segmentation result (orientation = 45)');

citra hasil segmentasi yang diperoleh

5. Melakukan filtering citra dengan λ = 4 dan θ = 135

% Orientation 135
orientation = 135;
[mag135,phase135] = imgaborfilt(J,wavelength,orientation);
figure,imshow(mag135,[]);
title('Gabor magnitude (orientation = 135)');
figure,imshow(phase135,[]);
title('Gabor phase (orientation = 135)');

citra magnitude dan phase yang diperoleh adalah

6. Melakukan operasi thresholding terhadap citra magnitude dengan nilai threshold sebesar 1000

bw135 = mag135>1000;
figure, imshow(bw135);
title('Binary image (orientation = 135)');

diperoleh citra biner hasil segmentasi

7. Memvisualisasikan hasil segmentasi terhadap citra asli

R135 = R;
G135 = G;
B135 = B;

R135(bw135) = 255;
G135(bw135) = 0;
B135(bw135) = 0;
rgb135 = cat(3,R135,G135,B135);
figure, imshow(rgb135);
title('Segmentation result (orientation = 135)');

citra hasil segmentasi yang diperoleh

8. Memvisualisasikan hasil segmentasi secara keseluruhan terhadap citra asli

R135(bw45) = 0;
G135(bw45) = 0;
B135(bw45) = 255;
rgb = cat(3,R135,G135,B135);
figure, imshow(rgb);
title('Overall segmentation result');

diperoleh citra hasil segmentasi sebagai berikut

File source code lengkap beserta citra pada pemrograman matlab di atas dapat diperoleh melalui halaman berikut ini: Source Code

Posted on November 6, 2016, in Pengenalan Pola, Pengolahan Citra and tagged , , , , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink. 24 Comments.

  1. jika membandingkan dua objek gimana caranya ya?? terima kasih

  2. mas untuk menentukan wavelength dan orientation yang sesuai bagaimana caranya?

  3. maaf mas, mau nanya pada saat menjalankan source filter gabor muncul pesan error seperti ini :
    Undefined function or variable ‘imgaborfilt’.

    Error in Texture_Segmentation (line 16)
    [mag45,phase45] = imgaborfilt(J,wavelength,orientation);

    apakah harus import imgaborfilt secara manual mas adi???

  4. ow, kalau pakek matlab r2015a gak bisa dijalankan mas ya
    maksih mas, nanti sya download yang 2015b
    mungkin ada alternatif lain mas?? misal kita import komponen imgaborfilt???

  5. Mas apakah apakah gabor features sama dengan gabor filter?

  6. Mas Adi, kalo saya mau klasifikasi citra dengan filter gabor, yg dijadikan fiturnya apa ya dari hasil filter gabornya? Thx

  7. mas adi mohon bantuannya, untuk melakukan normalisasi citra iris yang telah melewati tahap segmentasi menggunakan metode apa yaa ? thx

  8. terimakasih mas adi bantuannya

  9. mas untuk segmentasi citra penyakit daun kira2 menggunakan metode apa ya?

  10. mas apakah saya bisa liat untuk perhitungan manual filter gabornya ??

  11. mas mau tanya, kalau identifikasi tekstur kuning telur asin bisa pakai apa ya,,trimakasih

  12. maksud saya mau pakai ekstraksi tektur yg pertama,,,bagaimana mas heheh butuh masukan mas,,trimakasih banyal

  13. Mas kalau gabor filter ke svm gimana ya?

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 )

Facebook photo

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

Connecting to %s

%d bloggers like this: