Unrecognized function or variable 'filenames'. Error in pelatihan_sistem (line 6) [jumlah_data] = numel(filenames);
2 views (last 30 days)
Show older comments
Fauzan Alghifari
on 26 Apr 2020
Commented: Ameer Hamza
on 26 Apr 2020
clc; clear; close all;
% membaca file citra dalam folder
image_folder ='data latih';
filename = dir(fullfile(image_folder, '*.jpg'));
[jumlah_data] = numel(filenames);
% menginiliasisasi variabel data_latih
data_latih = zeros(jumlah_data,5);
% proses ekstraksi ciri orde satu
for k = 1:jumlah_data
full_name = fullfile(image_folder, filenames(k).name);
Img = imread(full_name);
Img = rgb2gray(Img);
H = imhist(Img)';
H = H/sum(H);
I = (0:255);
CiriMEAN = I * H;
CiriENT = -H * log2(H+eps)';
CiriVAR = (I-CiriMean).^2*H';
CiriSKEW = (I-CiriMean).^3*H'/ CiriVAR^1.5;
CiriKURT = (I-CiriMean).^4*H'/ CiriVAR^2-3;
data_latih(k,:) = [CiriMEAN,CiriENT,CiriVAR,CiriSKEW,CiriSKURT];
end
% penentuan nilai target untuk masing-maisng jenis bunga
target_latih = zero(1,jumlah_data);
target_latih(1:6) = 1; %kamboja_biasa
target_latih(7:12) = 2; %kamboja_merah
target_latih(13:18) = 3; %kamboja_plumeriapudica
target_latih(19:24) = 4; %melati-gambir
target_latih(25:30) = 5; %melati_kuning
% pelatihan menggunakan algoritma multivism
output = multivsm(data_latih,target_latih,data_latih);
%menghitung nilai akurasi pelatihan
[n,~] = find(targer_latihan==output');
jumlah_benar = sum(n);
akurasi = jumlah_benar/jumlah_data*100;
% menyimpan variabel data_latih dan target_latih
save data_latih data_latih
save target_latih target_latih
4 Comments
Accepted Answer
Ameer Hamza
on 26 Apr 2020
Edited: Ameer Hamza
on 26 Apr 2020
One issue already pointed out by Sriram in the comment. You need to make following modification to your code
clc; clear; close all;
% membaca file citra dalam folder
image_folder ='data latih';
filenames = dir(fullfile(image_folder, '*.jpg')); % <<------- change filename to filenames
[jumlah_data] = numel(filenames);
% menginiliasisasi variabel data_latih
data_latih = zeros(jumlah_data,5);
% proses ekstraksi ciri orde satu
for k = 1:jumlah_data
full_name = fullfile(image_folder, filenames(k).name);
Img = imread(full_name);
Img = rgb2gray(Img);
H = imhist(Img)';
H = H/sum(H);
I = (0:255);
CiriMEAN = I * H;
CiriENT = -H * log2(H+eps)';
CiriVAR = (I-CiriMean).^2*H';
CiriSKEW = (I-CiriMean).^3*H'/ CiriVAR^1.5;
CiriKURT = (I-CiriMean).^4*H'/ CiriVAR^2-3;
data_latih(k,:) = [CiriMEAN,CiriENT,CiriVAR,CiriSKEW,CiriSKURT];
end
% penentuan nilai target untuk masing-maisng jenis bunga
target_latih = zeros(1,jumlah_data); %% <<------- change zero to zeros
target_latih(1:6) = 1; %kamboja_biasa
target_latih(7:12) = 2; %kamboja_merah
target_latih(13:18) = 3; %kamboja_plumeriapudica
target_latih(19:24) = 4; %melati-gambir
target_latih(25:30) = 5; %melati_kuning
% pelatihan menggunakan algoritma multivism
output = multivsm(data_latih,target_latih,data_latih);
%menghitung nilai akurasi pelatihan
[n,~] = find(targer_latihan==output');
jumlah_benar = sum(n);
akurasi = jumlah_benar/jumlah_data*100;
% menyimpan variabel data_latih dan target_latih
save data_latih data_latih
save target_latih target_latih
2 Comments
Ameer Hamza
on 26 Apr 2020
Fauzan, In my answer, I marked this line and asked to change from zero to zeros
target_latih = zeros(1,jumlah_data);
% ^ add an s
More Answers (0)
See Also
Categories
Find more on Instrument Control Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!