correction d'erreurs sur le PMC

This commit is contained in:
Felix Maurin 2019-12-17 22:34:46 +01:00
parent 918a7fb73a
commit 6762d2c15d

View file

@ -15,8 +15,30 @@ vecteurs=zeros(2*(cmax-cmin+1),dataset_size); %TODO: renommer en vectors
classes = []; %colonne [avance; arret; gauche; droite; rejet] classes = []; %colonne [avance; arret; gauche; droite; rejet]
for k=1:dataset_size %instanciation des valeurs des classes pour le training % c'est lent
deb = dataset(k).name(1:2); % s'assurer que l'on choisit toutes les images
%
for n=1:dataset_size
% choix d'une image aleatoire
choix = 1 + floor(dataset_size*rand(dataset_size, 1));
% extraction de l'image du dataset
image = dataset(choix(1));
% lecture de l'image
img = imread([image.folder '/' image.name]);
% filtrage de la couleur de la peau
binary = rgb_filter(img, threshold);
% determination du contour
c = contourc(binary);
% Determination du contour de taille max
cont = max_contour(c);
% transformation en signal complexe
z = cont(:,1) + 1i*cont(:,2);
% calcul des descripteurs de Fourier
[coeff,ncoeff]=descripteurfouriernorm(z,cmax);
% Extraction des composantes
vecteurs(:,n)=[real(coeff);imag(coeff)];
% Ajout de la classe correspondante
deb = dataset(choix(1)).name(1:2);
if deb == 'av' if deb == 'av'
classes = [classes , [1;0;0;0;0]]; classes = [classes , [1;0;0;0;0]];
elseif deb == 'ar' elseif deb == 'ar'
@ -28,32 +50,6 @@ for k=1:dataset_size %instanciation des valeurs des classes pour le training
elseif deb == 're' elseif deb == 're'
classes = [classes , [0;0;0;0;1]]; classes = [classes , [0;0;0;0;1]];
end end
end
% c'est lent
% s'assurer que l'on choisit toutes les images
%
for n=1:dataset_size
% choix d'une image aléatoire
choix = 1 + floor(dataset_size*rand(dataset_size, 1));
% extraction de l'image du dataset
image = dataset(choix(1));
% lecture de l'image
img = imread([image.folder '/' image.name]);
% filtrage de la couleur de la peau
binary = rgb_filter(img, threshold);
% détermination du contour
c = contourc(binary);
% Détermination du contour de taille max
cont = max_contour(c);
% transformation en signal complex
z = cont(:,1) + 1i*cont(:,2);
% calcul des descripteurs de Fourrier
[coeff,ncoeff]=descripteurfouriernorm(z,cmax);
% Extraction des composantes
vecteurs(:,n)=[real(coeff);imag(coeff)];
% affichage de l'avancement % affichage de l'avancement
disp(n/dataset_size); disp(n/dataset_size);
end end