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 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
1. Membaca dan menampilkan citra asli
1
2
3
4
5
6
| 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
1
2
3
4
5
6
7
8
9
| % 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
1
2
3
| bw45 = mag45>1000; figure, imshow(bw45); title( 'Binary image (orientation = 45)' ); |
diperoleh citra biner hasil segmentasi
4. Memvisualisasikan hasil segmentasi terhadap citra asli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| % 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
1
2
3
4
5
6
7
| % 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
1
2
3
| bw135 = mag135>1000; figure, imshow(bw135); title( 'Binary image (orientation = 135)' ); |
diperoleh citra biner hasil segmentasi
7. Memvisualisasikan hasil segmentasi terhadap citra asli
1
2
3
4
5
6
7
8
9
10
| 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
1
2
3
4
5
6
| R135(bw45) = 0; G135(bw45) = 0; B135(bw45) = 255; rgb = cat(3,R135,G135,B135); figure, imshow(rgb); title( 'Overall segmentation result' ); |
good luck..
Referensi.
1./www.mathworks.com
2.www.w3ii.com
3.www.PemrogramanMatlab.
4.www.rahmadya.com
Tag :
Lecture,
Programing
0 Komentar untuk "Segmentasi menggunakan Filter Gabor"