How to classify image data using SVM

2 vues (au cours des 30 derniers jours)
Petrus van Aswegen
Petrus van Aswegen le 10 Mai 2021
I am having an issue with using the fitcsvm() function to classify my data. I have used the following code to load my 190 RGB images and their respective groundtruths, divide the these images into 4x4 patches and then read and store the colour information in each patch.
bh = 4; %dimensions of the blocks
bw = 4;
%obtain the folder and the files within them note that any name with "g" is
%groundtruth specific
folname = 'C:\Users\Petru\Documents\Uni\Yr4Sem1\Thesis\Images';
folnameg = 'C:\Users\Petru\Documents\Uni\Yr4Sem1\Thesis\Groundtruth';
fils = dir(fullfile(folname,'*.png'));
filsg = dir(fullfile(folnameg,'*.png'));
%Read the images in from the directory created above
Io = imread(fullfile(fils(1).folder,fils(1).name));
Ig = imread(fullfile(filsg(1).folder,filsg(1).name));
%obtain some metadata from the first image into a table
N1 = bh*ones(floor(size(Io,1)/bh),1);
N1g = bh*ones(floor(size(Ig,1)/bh),1);
N2 = bw*ones(floor(size(Io,2)/bw),1);
N2g = bw*ones(floor(size(Ig,2)/bw),1);
%Loop through both directories at the same time and store information in
%tables L and Lg
L = cell(numel(fils),1);
Lg = cell(numel(filsg),1);
for ii = 1:numel(fils)
I = imread(fullfile(fils(ii).folder,fils(ii).name));
b = mat2cell(I(1:bh*numel(N1),1:bw*numel(N2),:),N1,N2,3);
Ig = imread(fullfile(filsg(ii).folder,filsg(ii).name));
bg = mat2cell(Ig(1:bh*numel(N1g),1:bw*numel(N2g),:),N1g,N2g);
L{ii} = cat(4,b{:});
Lg{ii} = cat(4,bg{:});
end
Does anyone know how to make the data usable for the function, or if there is another process that needs to be used

Réponses (1)

Akanksha Shrimal
Akanksha Shrimal le 27 Avr 2022
Hi,
It is my understanding that you want to use fitcsvm() function for the given predictors L and labels Lg.
You can use fitcsvm() for one-class or two-class classification in the following manner.
Mdl = fitcsvm(L,Lg)
Given that L and Lg are matrices, the above code returns a classifier trained on given predictors and labels.
For multi-class classification refer to the following documentation.
Hope this helps.

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by