Ekstraksi Ciri Tekstur Menggunakan Tapir Gabor Wavelet Untuk Membedakan Daging Babi, Daging Kambing, dan Daging Sapi
Akhir-akhir ini sering
muncul kasus di masyarakat tentang keamanan daging sapi dan kambing
seperti pemalsuan daging sapi, daging kambing dipalsukan dengan daging babi oleh oknum-oknum tidak bertanggung jawab. Kondisi ini tentu
saja dapat merugikan konsumen
terutama konsumen di pasar tradisional dan mengingat banyaknya konsumen di kalangan
masyarakat indonesia ini sebagian besar merupakan masyarakat muslim. Kurangnya pengetahuan masyarakat tentang
cara membedakan daging sapi, daging kambing dengan daging babi menjadikan
konsumen tidak teliti dalam membeli daging. Maka dari itu demi melindungi konsumen
dari kasus penipuan seperti
ini, perlu
adanya suatu alat atau sistem yang dapat membantu masyarakat untuk mengenali
daging sapi, daging kambing dan daging babi. Teknologi pengenalan pola saat ini telah banyak mengalami
perkembangan. Hal ini dapat dimanfaatkan untuk membantu menyelesaikan masalah
ini dengan membuat
suatu sistem
yang dapat mengklasifikasi jenis daging secara otomatis untuk mengurangi
masalah-masalah tentang pemalsuan daging.
Berikut ini merupakan
contoh pemrograman matlab untuk melakukan ekstraksi ciri citra daging babi,
daging kambing, dan daging sapi menggunakan tekstur Tapir Gabor Wavelet .
Langkah-langkahnya sebagai berikut:
1. Membaca citra RGB.
Citra Asli atau Citra RGB
2. Memotong Citra menjadi ukuran 2091.5 x
1371.5 x 978 x 852.
Cropping Citra
3. Resize ukuran citra yang telah di potong
dengan ukuran piksel menjadi 256 x 256, agar piksel dari semua citra sama
Resize Citra
4. Mengkonversi Citra menjadi citra keabuan yang bertujuan untuk menuju tahap selanjutnya yaitu Tapir Gabor Wavelet , karena Tapir Gabor Wavelet hanya dapat diolah ketika citra sudah dalam bentuk citra keabuan.
Citra Keabuan
5. Mencari Nilai Tapir Gabor
Wavelet, Ciri Tapir Gabor Wavelet yang diekstrak menggunaikan
orde pertama diantaranya: Mean, Variance, Skewness, Kurtosis, Entropy, dan Energy.
dalam contoh nilai orientation yang digunakan
adalah 0o dan wavelength adalah 2,, sebenarnya
orientation banyak nilai yang dapat dipakai seperti 0º, 30º, 45º, 60º,
90º, 120º, 135º, 150º, 180º, dan 225º, sedangkan untuk wavelength dapat
menggunakan nilai 0, 1, 2, 3, 4, 5, dan 6 (Semakin rendah nilai wavelength
yang diberikan, maka hasil pengujianpun akan terlihat semakin terang dan blur).
untuk mencari nilai orde pertama yang dicari dari filter gabor adalah dengan
mencari nilai tektur magnitudenya.
Tapir Gabor Wavelet
Source code yang digunakan adalah sebagai berikut:
seluruh citra daging
dapat didownload melalui:
https://mega.nz/folder/PqYynKZQ#_XI31flX_gNlKdlE0JoaSw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | clc, clear all, warning off all; tic; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Read Image % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [fname,pname] = uigetfile({'*.jpg';'*.bmp';'*.png';'*.tif';'*.ppm';},'Open Image'); gambar = imread([pname fname]); figure (1); imwrite(gambar, 'Gambar Asli.jpg'); imshow(gambar); title('Gambar Asli'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Cropping Gambar % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% crop = imcrop(gambar,[2091.5 1371.5 978 852]); figure (2); imwrite(crop, 'Cropping Gambar.jpg'); imshow(crop); title('Cropping Gambar'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Resize Gambar % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% resize = imresize (crop,[256 256]); figure (3); imwrite(resize, 'Resize Citra.jpg'); imshow(resize); title('Resize Citra'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Grayscale Gambar % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% grayscale = rgb2gray(resize); %proses Grayscaling figure (4); imwrite(grayscale, 'Citra Keabuan.jpg'); imshow(grayscale); title('Citra Keabuan'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % GABOR % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wavelength = 2; orientation = 0; [mag,phase] = imgaborfilt(grayscale,wavelength,orientation); figure(5); imshow(mag,[]); title('Citra Filter Gabor'); H = imhist(mag)'; H = H/sum(H); I = [0:255]/255; CiriMEAN = mean2(mag); CiriVAR = (I-CiriMEAN).^2*H'; CiriSKEW = (I-CiriMEAN).^3*H'/CiriVAR^1.5; CiriKURT = (I-CiriMEAN).^4*H'/CiriVAR^2-3; CiriENT = -H*log2(H+eps)'; foo = H.^2; CiriEN = sum (foo(:)); fprintf('\n\tMEAN :%13.4f\n',CiriMEAN); fprintf('\n\tVARIANCE :%13.4f\n',CiriVAR); fprintf('\n\tSKEWNESS :%13.4f\n',CiriSKEW); fprintf('\n\tKURTOSIS :%13.4f\n',CiriKURT); fprintf('\n\tENTROPY :%13.4f\n',CiriENT); fprintf('\n\tENERGY :%13.4f\n',CiriEN); |
0 Comments