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:

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
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é
merci de m'avoir lu