Bonjour,
ce programme permet de calculer l'histogramme de direction pour une image donné et le résultat est sauvegardé dans la matrice hist.mat (taille 1*16). je suis débutante en matlab et je ne sais pas comment faire une boucle pour que ce programme puisse lire un ensemble d'image (exactement 30 images) au lieu d'une seule image et de sauvegarder chaque fois le résultat dans hist. j'aime avoir comme résultat la matrice hist de taille 30*16.
s'il vous plait , j'ai besoin de votre aide pour changer ce programme, et merci d'avance
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
23
24
25 function hist= hist_16directions(image) image=imread('010.tif'); hist=zeros(1,16); nb=0; edge1=edge(image); width=size(image,1); height=size(image,2); for x=1:width for y=1:height if(edge1(x,y)) for i=0:15 myX=x+xC4(i); myY=y+yC4(i); if((myX>=1)&&(myX<=width)&&(myY>=1)&&(myY<=height)) if(edge1(myX,myY)) hist(i+1)=hist(i+1)+1; nb=nb+1; end end end end end end hist=hist/nb; save hist.mat hist;
Partager