Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

My accuration zero percent. What's wrong?

2 Ansichten (letzte 30 Tage)
Bima Putra
Bima Putra am 19 Dez. 2019
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
Good morning everyone. My accuration 0% what's wrong with it?
Screenshot_1.jpg
This my code. Thank you so much before.
close all
clear all
e = imread('E:\Latihan MATLAB\Project_UAS\Training\huruf-a\2.jpg');
figure, imshow(e);
t = graythresh(e);
imbw_otsu = im2bw(e,t);
figure, imshow(imbw_otsu);
se = strel('disk',1);
citra_close = imclose(e,se);
figure, imshow(citra_close);
imbw_manual = im2bw(citra_close, 115/255);
figure, imshow(imbw_manual);
imbw_manual3 = 1 - imbw_manual;
figure, imshow(imbw_manual3);
traindir = 'Training';
testdir = 'Testing';
huruflist = dir(traindir);
huruflist(1) = [];
huruflist(1) = [];
huruflist = {huruflist.name}';
train_data = [];
for i=1:size(huruflist,1)
train_kelas = huruflist{i};
imglist = dir([traindir '\' train_kelas]);
imglist(1) = [];
imglist(1) = [];
imglist = {imglist.name}';
for j=1:size(imglist,1)
imgname = imglist{j};
iminput = imread([traindir '\' train_kelas '\' imgname]);
% imgray = rgb2gray(iminput);
t = graythresh(iminput);
imbw_otsu = im2bw(iminput,t);
se = strel('disk',1);
citra_close = imclose(iminput,se);
imbw_manual = im2bw(citra_close, 115/255);
imbw_manual3 = 1 - imbw_manual;
s = regionprops(imbw_manual3, 'Eccentricity', 'Area', 'Perimeter');
eccentricity = cat(1, s.Eccentricity);
area = cat(1, s.Area);
perimeter = cat(1, s.Perimeter);
rasio_luaskeliling = area / perimeter;
train_data = [train_data; {train_kelas}, imgname, eccentricity, rasio_luaskeliling];
end
end
xlswrite('train_features.xlsx', train_data, 1, 'A1');
testlisthuruf = dir(testdir);
testlisthuruf(1) = [];
testlisthuruf(1) = [];
testlisthuruf = {testlisthuruf.name}';
testimgdir = 'Test Images';
if ~exist(testimgdir)
mkdir(testimgdir);
end
test_data = [];
for i=1:size(testlisthuruf,1)
imgname = testlisthuruf{i};
test_class = imgname(1:end-4);
iminput = imread([testdir '\' imgname]);
% imgray = rgb2gray(iminput);
t = graythresh(iminput);
imbw_otsu = im2bw(iminput,t);
se = strel('disk',1);
citra_close = imclose(iminput,se);
imbw_manual = im2bw(citra_close, 115/255);
imbw_manual3 = 1 - imbw_manual;
s = regionprops(imbw_manual3, 'Eccentricity', 'Area', 'Perimeter');
eccentricity = cat(1, s.Eccentricity);
area = cat(1, s.Area);
perimeter = cat(1, s.Perimeter);
rasio_luaskeliling = area / perimeter;
test_data = [test_data; {test_class}, eccentricity, rasio_luaskeliling];
end
[num, raw] = xlsread('train_features.xlsx');
trainX = num(:,:);
trainY = raw(:,1);
testX = cell2mat(test_data(:,2:end));
testY = test_data(:,1);
categories = {'huruf-a';'huruf-e';'huruf-i';'huruf-o';'huruf-u'};
result = cell(size(testY));
numClasses = size(categories,1);
for i=1:numClasses
G1vAll=(strcmp(trainY,categories(i)));
models(i) = svmtrain(trainX, G1vAll, 'kernel_function', 'linear');
end
for i=1:size(testX,1)
for j=1:numClasses
if(svmclassify(models(j),testX(i,:)))
break;
end
end
result(i) = categories(j);
end
accuracy = 0;
for i=1:size(result,1)
if (strcmp(result(i),testY(i)))
accuracy = accuracy + 1;
end
end
[gr_w gr_h] = size(testY);
accuracy = (accuracy / gr_w)*100;
disp(['Akurasi = ' num2str(accuracy) '%']);
  1 Kommentar
darova
darova am 19 Dez. 2019
Can you be more specific? What is the problem?

Antworten (0)

Diese Frage ist geschlossen.

Produkte


Version

R2016a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by