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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
%Trouver l'image de laquelle est extraite l'analyse de
%l'allumage
structureok = input('\n Calculer la structure?:(y/n) ','s');
if structureok=='y'
[Framea,NFL]=allumage(Frame);
%NF=NFL(1);
%Analyse de l'image
[lat,long]=pictana(Frame,NFL);
%Détermination de la structure
[f,frb,f2,d2,d,b,afn,nfrf,f2i,d2s]=structure_finding(Framea,HEight,WIdth,long,lat);
%Tracé de la structure
structure_plot(Frame,d,d2,f,f2,b,WIdth,lat,long,afn)
end
%Erosion des images
rdisk=3;%rayon du disque pour l'érosion
[Frameb]=pictero(Framea,rdisk);
%Déterminationdes coordonnées du bord inférieur gauche (interne)
%de la structure
big=[f2 b];%bord inférieur gauche
bsg=[f f2];%bord supérieur gauche
aig=abs(atan(abs((long-b)/(lat-f2)))*180/pi)/180*pi; %angle big/ignition
asg=abs(atan(abs((long-f)/(lat-f2)))*180/pi)/180*pi;
nfrb=min(find(frb>b));%trouver l'image a partir de laquelle la flamme atteint la limite basse
angledeg=30; %angle de balayage
anglerad=angledeg/180*pi;
npt=15; %nombre de droites à considérer
npt=(floor((npt-1)/2))*2+1; %je veux un nb de pts impair (pour avoir l'angle 0)
timep=0.1;
seuilang=min(nfrb,nfrf)-1;%lorsque la flamme atteint le haut ou le bas de la structure
%Détermination des points pour le rayon de flamme
X=(1:1:WIdth);%vecteur abscisse pour le calcul des droites
[Yr,Y2r,teta,Y,Y2]=calcul_droites(WIdth,X,HEight,npt,anglerad,lat,long,aig,asg); |
Partager