Je débute en Matlab et j’ai un problème d’optimisation de code:
J’utilise ce code la :
Mais il me pose un problème de temps (il est trop gourmand en temps de calcul). J’ai essayé de proposer une solution pour m’optimiser du temps qui permet d’éviter les deux boucles et voila le code que j’utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 load('netHSV.mat'); ImageReel0 = imread('5.jpg'); Imagesortie=zeros(512,384); ImageReel1=imresize(ImageReel0,[512 384],'nearest'); ImageReel=rgb2hsv(ImageReel1); tic for i=1:512%parcour row for j=1:384%parcour col H=double(ImageReel(i,j,1)*1000); S=double(ImageReel(i,j,2)*1000); V=double(ImageReel(i,j,3)*1000); p=[H S V]'; Imagesortie=(sim(net,p)>=0.6); end end toc figure, imshow(Imagesortie)
mais il me lance cet erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 load('netHSV.mat'); ImageReel0 = imread('5.jpg'); Imagesortie=zeros(512,384); %For each Image (Original and Masque): ImageReel1=imresize(ImageReel0,[512,384],'nearest'); ImageReel=rgb2hsv(ImageReel1); tic; H=double(ImageReel(:,:,1)*1000); S=double(ImageReel(:,:,2)*1000); V=double(ImageReel(:,:,3)*1000); p=[H S V]'; Imagesortie=(sim(net,p)>=0.6); figure, imshow(Imagesortie) toc
Pouvez-vous m’aidez à corriger cet erreur ou bien à proposer une autre solution afin d'optimisez le code afin de gagner du temps ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ??? Error using ==> network.sim at 178 Inputs are incorrectly sized for network. Matrix must have 3 rows.
Partager