フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

My accuration zero percent. What's wrong?

2 ビュー (過去 30 日間)
Bima Putra
Bima Putra 2019 年 12 月 19 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
darova
darova 2019 年 12 月 19 日
Can you be more specific? What is the problem?

回答 (0 件)

この質問は閉じられています。

タグ

製品


リリース

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by