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 analisis citra, analisis citra matlab, analisis tekstur, analisis tekstur matlab, aplikasi matlab pengolahan citra, cara membuat koding matlab sederhana, cara segmentasi citra filter gabor, citra adalah, citra digital adalah, contoh koding matlab sederhana, contoh program matlab sederhana, definisi citra, ekstraksi ciri, ekstraksi ciri tekstur matlab, filter bank gabor, filter gabor, gabor filter matlab, koding matlab pengolahan citra, pengolahan citra, Pengolahan Citra Digital, pola tekstur, program matlab pengolahan citra, segmentasi citra, segmentasi pola tekstur, segmentasi tekstur, tekstur citra. Bookmark the permalink. 24 Comments.
jika membandingkan dua objek gimana caranya ya?? terima kasih
Bisa menggunakan bermacam2 parameter di antaranya mse, std, euclidean distance, dll
ada tutornya?
Source code dan data pada materi di atas dapat diperoleh pada halaman berikut ini
https://pemrogramanmatlab.com/source-code-gui-matlab/
mas untuk menentukan wavelength dan orientation yang sesuai bagaimana caranya?
Utk menentukan wavelength dan orientation bisa dilakukan dg cara trial and error
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???
Koding di atas dapat dijalankan minimal menggunakan matlab 2015b
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???
Sama sama fais
Bisa dicoba
Mas apakah apakah gabor features sama dengan gabor filter?
Gabor features adalah parameter ciri yg diekstrak dari gabor filter
Mas Adi, kalo saya mau klasifikasi citra dengan filter gabor, yg dijadikan fiturnya apa ya dari hasil filter gabornya? Thx
Bisa menggunakan ekstraksi ciri orde pertama thd komponen magnitude gabor
mas adi mohon bantuannya, untuk melakukan normalisasi citra iris yang telah melewati tahap segmentasi menggunakan metode apa yaa ? thx
Utk normalisasi bisa menggunakan metode grayscalling dan filtering
terimakasih mas adi bantuannya
mas untuk segmentasi citra penyakit daun kira2 menggunakan metode apa ya?
Bisa dicoba diimplementasikan menggunakan metode thresholding
mas apakah saya bisa liat untuk perhitungan manual filter gabornya ??
maaf, lagi ngerjain gabor filter jg ya?
mas mau tanya, kalau identifikasi tekstur kuning telur asin bisa pakai apa ya,,trimakasih
maksud saya mau pakai ekstraksi tektur yg pertama,,,bagaimana mas heheh butuh masukan mas,,trimakasih banyal
Mas kalau gabor filter ke svm gimana ya?