bonjour
je travaille sur scilab :le programme d'histogramme et d'histogramme cumulé ont l'air de marché donc je ne pense pas que l'erreur vient de là je les mets quand même par précaution:
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
20
21
22 function classes = mk_classes(n) N = 2^n; classes = zeros(1, N+1); classes(1) = -1; for i = 1:N classes(i+1) =classes(i)+(256/N) // à compléter end endfunction exec("mk_classes.sci"); function Hist = hist_cumul(im) // calcul de l'histogramme n=8 hist = histc(mk_classes(n), im, normalization=%f); // calcul de l'histogramme cumulé Hist=zeros(256) Hist(1)=hist(1) for i=2:256 Hist(i)=Hist(i-1)+hist(i) end endfunction
j'ai besoin de ces deux programme pour réaliser la fonction egal_hist qui ne marche pas pourtant j'ai essayer plein de fois donc je pense que je dois avoir des grosses lacunes dans cette matière je suis désolée c'est tout nouveau pour moi:
le message d'erreur que me renvoie scilab c'est toujours le même : indice invalide ... alors que j'ai tapé à la main beaucoup de valeur comme 255*Hist(im(50,50))=173 par exemple je ne vois pas le probleme ça ne dépasse jamais 255 ... est-ce que c'est le Hist qui fait tout buggé
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 exec("hist_cumul.sci"); //Transformation de l'égalisation function q = T(p, Hist) q = floor((255*Hist(p))/(M*N)) endfunction function im_out = hist_egal(im) [M,N]=size(im) im_out=T(im) // for i=1:M // for j=1:N // im_out(i,j)=T(im(i,j)) // end // end endfunction
merci de m'avoir lu
Partager