Kaskus

Tech

aktisAvatar border
TS
aktis
Analisis Tekstur-Gray level cooccurance matrix-GLCM
Analisis Tekstur-Gray level cooccurance matrix-GLCM



Manusia mengenal tekstur seperti lembut dan kasar walaupun tangan tidak menyentuh benda tersebut, tapi otak mampu membedakan  hal tersebut melalui visualisasi yang ditangkap oleh mata. Tekstur dapat dicirikan sebagai berikut



[ol]
[li]Pengulangan pola dari variasi lokal sehingga membentuk kesatuan yang utuh[/li]
[li]Menyediakan informasi susunan spasial dari warna dan intensitas citra[/li]
[li]Dicirikan dengan distribusi spasial dari level intensitas dari nilai pixel ketetanggaan[/li]
[li]Tidak bisa didefinisikan sebagai suatu satu point / nilai tertentu karena merupakan sebuah pola / kesatuan[/li]
[/ol]
Lihatlah ilustrasi berikut tentang tekstur sebuah citra yaitu terdiri dari 50% hitam dan 50% putih



Analisis Tekstur-Gray level cooccurance matrix-GLCM





[hr]
 uji statistik standar seperti mean, standar deviasi tidak akan mampu membedakan ketiga citra tersebut karena akan menghasilkan nilai yang sama. Seperti yang sudah dijelaskan bahwa tekstur merupakan suatu pengulangan pola dan distribusi spasial artinya ketiga citra tersebut mempunyai tingkat intensitas nilai pixel yang sama tapi mempunyai distribusi spasial yang berbeda.






Analisis tekstur merupakan salah satu metode untuk melakukan identifikasi atau klasifikasi suatu citra, analisis tersebut telah banyak digunakan dalam berbagai bidang yaitu uji tekstur wajah, mutu keramik, membedakan jenis daun dan dalam interpretasi suatu peta sehingga dapat diketahui jenis lahan.



GLCM sebagai salah satu metode analisis tekstur



Gray-Level Co-occurrence matrix merupakan metode paling banyak digunakan untuk analisis tekstur. Metode ini diperkenalkan oleh Haralick di tahun 1973 yang merupakan bagian dari project yang didukung olah NASA yaitu tepatnya NASA Goddard Space Flight Center. Haralick menggunakan citra dari NASA ERTS untuk melakukan klasifikasi dengan tingkat akurasi diatas 80%.







Matrix GLCM dihitung dari nilai pixel yang berpasangan dan memiliki nilai intensitas tertentu. Misalkan d adalah jarak antara dua pixel yaitu (x1,y1) dan (x2,y2) dan Ѳ tetha didefinisikan sebagai sudut antara keduanya, maka matrix GLCM merupakan distribusi spasial dari Pd Ѳ (i,j). Banyak paper menuliskan berbagai versi tentang perhitungan GLCM terutama mengenai masalah sudut yang digunakan.  Berikut adalah ilustrasi yang menggambarkan arah sudut dengan jarak 1 pixel dan ada 4 jenis sudut yang digunakan:



a.    0[sup]o [/sup]= 180[sup]o [/sup] 



b.    45[sup][/sup]= 225[sup]o[/sup]



c.    90[sup][/sup]= 270[sup]o [/sup], dan



d.    135[sup]o [/sup]= 315[sup]o[/sup]







tapi terkadang ada yang menyatakan terdiri dari 8 arah, hal ini terjadi karena antara sudut 0[sup]o [/sup]dan 180[sup]o [/sup]dianggap berbeda begitu juga dengan arah sudut yang lainnya



Analisis Tekstur-Gray level cooccurance matrix-GLCM

Perhitungan GLCM



Misalkan kita mempunyai gray matrix dengan skala intensitas dari 0 sampai 2



Analisis Tekstur-Gray level cooccurance matrix-GLCM

 Maka tentukan P1,0(M) yaitu matrix GLCM dari jarak 1 untuk sudut 0o



1.    Buatlah matrix pasangan yaitu



Analisis Tekstur-Gray level cooccurance matrix-GLCM

 2.    Misalkan hitung matrix pasangan (0,0) untuk sudut 0 dan 180



Analisis Tekstur-Gray level cooccurance matrix-GLCM





Analisis Tekstur-Gray level cooccurance matrix-GLCM

 Sehingga matrix GLCM nya adalah



Analisis Tekstur-Gray level cooccurance matrix-GLCM

 Langkah selanjutnya adalah melakukan normalisasi yaitu matrixGLCMNorm. Jumlah total nilai = 24



Analisis Tekstur-Gray level cooccurance matrix-GLCM









Bila dijumlahkan akan menghasilkan nilai 1. Matrix diatas merupakan input untuk perhitungan fitur tekstur.  Berikut adalah beberapa fitur yang bisa dihitung menggunakan GLCM yaitu terdiri dari 7 fitur utama dan 7 fitur tambahan yang diturunkan dari 7 fitur utama.



[ol]
[li]Angular second moment/uniformity/energy[/li]
[li]Entropy[/li]
[li]Dissimilarity [/li]
[li]Contrast/inertia[/li]
[li]Correlation[/li]
[li]Homogeneity/inverse difference moment[/li]
[li]Autocorrelation[/li]
[li]Sum of squares (variance)[/li]
[li]Sum average[/li]
[li]Sum variance[/li]
[li]Sum entropy[/li]
[li]Difference variance[/li]
[li]Difference entropy[/li]
[li]Information measures of correlation[/li]
[/ol]
Perhitungan 7 fitur utama



1. Angular second moment/uniformity/energy



Analisis Tekstur-Gray level cooccurance matrix-GLCM









Mengukur tentang keseragaman atau sering disebut angular second moment. Energy akan bernilai tinggi ketika nilai pixel mirip satu sama lain sebaliknya akan bernilai kecil menandakan nilai dari GLCM normalisasi adalah heterogen. Nilai maksimum dari energy adalah 1 yang artinya distribusi pixel dalam kondisi konstan atau bentuk nya yang berperiodik (tidak acak). Hasil perhitungan  diatas adalah



f1 = 0.1042



2. Entropy



Analisis Tekstur-Gray level cooccurance matrix-GLCM





Mengukur kompleksitas(keacakan) citra. Entropy akan bernilai tinggi ketika citra tidak seragam. Hasil perhitungan diatas adalah



f2 = 2.325







3. Dissimilarity



Analisis Tekstur-Gray level cooccurance matrix-GLCM





Mengukur ketidakmiripan suatu tekstur, yang akan bernilai besar bila acak dan sebaliknya akan bernilai kecil bila seragam. Hasil perhitungan diatas adalah



f3 = 1.5833







4. Contrast/inertia



Analisis Tekstur-Gray level cooccurance matrix-GLCM





Mengukur frekuensi spasial dari citra dan perbedaan moment GLCM. Perbedaan yang dimaksudkan adalah perbedaan tinggi dan rendah nya pixel.  Contrast akan bernilai 0 jika pixel ketetanggaan mempunyai nilai yang sama. Hasil perhitungan diatas adalah



f4 = 3.416







5. Correlation



Analisis Tekstur-Gray level cooccurance matrix-GLCM





Dengan



Mengukur linearitas (the  joint  probability) dari sejumlah pasangan pixel (pairs).



 Analisis Tekstur-Gray level cooccurance matrix-GLCM







Hasil perhitungan diatas adalah



f5 = 0.1042







6. Homogeneity/inverse difference moment



Analisis Tekstur-Gray level cooccurance matrix-GLCM





Mengukur homogenitas. Nilai ini sangat sensitif terhadap nilai disekitar diagonal utama. Bernilai tinggi ketika semua pixel mempunyai nilai yang sama / seragam.  Kebalikan dari contrast yaitu akan bernilai besar jika mempunyai nilai pixel yang sama pada saat energy bernilai tetap. Hasil perhitungan diatas adalah



f6 = 0.392







7. Autocorrelation



Analisis Tekstur-Gray level cooccurance matrix-GLCM



Mengukur correlation diantara garis diagonal utama. Hasil nya contoh diatas adalah



f7 = 5.5







Catatan:



i dan j menggunakan nilai initial 1 bukan 0







Agar lebih mudah, saya buat 2 class yaitu class GLCM dan class Feature



lebih lanjut ke https://www.softscients.web.id/2018/...-tekstur.html

Cara penggunaannya untuk array







Code:
double[,] data = new double[,] {
  { 0,  0,  1,  2 },
  {2,  0,  2,  0 },
  {1,  0,  0,  2 },
  {2,  0,  1,  1 }
};

GLCM glcm = new GLCM();
int sudut = 0;
int maksimal = 2;
glcm.Process(data,sudut,maksimal);
double[,] T = glcm.T; //matrix GLCM
double[,] H = glcm.H; //matrix GLCM setelah dinormalisasi!

Feature fitur = new Feature();
fitur.Process(T); //hasil matrix ternormalisasi
Console.WriteLine("Fitur");
Console.WriteLine("Autocorrelation : " + fitur.Autocorrelation);
Console.WriteLine("Contrast : " + fitur.Contrast);
Console.WriteLine("Correlation : " + fitur.Correlation);
Console.WriteLine("Dissimilarity : " + fitur.Dissimilarity);
Console.WriteLine("Energy : " + fitur.Energy);
Console.WriteLine("Entropy : " + fitur.Entropy);
Console.WriteLine("Homogen : " + fitur.Homogen);









Lumayan panjang sekali kodenya



Bagaimana aplikasi mudahnya diterapkan pada gambar?



Coba kamu baca link ini dulu



http://www.softscients.web.id/2018/1...a-digital.html



tentu kamu harus ubah gambar truecolor menjadi grayscale, kemudian diubah image to matrix



Bila ingin agak bagus, coba pakai winform



http://www.softscients.web.id/2018/1...4-winform.html







Bila kamu kurang jelas, tanyakan saja via email



Kalau kamu membuat aplikasi diatas menggunakan Python, pasti jauh lebih singkat kode nya



karena di Python ada OpenCv dan Numpy untuk computer visionnya



Makanya kamu belajar dulu basic Python







http://www.softscients.web.id/2018/1...on-dengan.html

0
3.3K
0
GuestAvatar border
Komentar yang asik ya
GuestAvatar border
Komentar yang asik ya
Komunitas Pilihan