####################################################################################################################################### # # # E X T R A C T I O N D E S L I G N E S D E N I V E A U " C R O I S S A N T E S " D ' U N E I M A G E : # # # # # # Author of '$xiirf/.FRC3.84.1.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20190430175853). # # # ####################################################################################################################################### $Z FilSTmpB FLiStEP $Z FilSTmpB FLiStE_PoInTs $c #include <stdio.h> $c $c #define COND(c,v,f) ((c) ? (v) : (f)) $c #define MIN2(a,b) COND(((a)<=(b)),(a),(b)) $c #define MAX2(a,b) COND(((a)>=(b)),(a),(b)) $c $c #define N0 cPremiere $c #define N cDerniere $c $c #define Zmin (cPremiere-cPremiere) $c #define Zmax (cDerniere-cPremiere) $c $c #define Noir 0 $c #define Blanc 255 $c $c int main() $c { $c int n; $c $c for (n=N0 ; n<=N ; n=n+1) $c { $c int niveau=(((Blanc*(n-N0))+(Noir*(N-n)))/(N-N0)); $c int Z=(((Zmax*(n-N0))+(Zmin*(N-n)))/(N-N0)); $c $c printf("$xci/passe_bande$X $c A=$_____imageR $c forcer_niveau_intermediaire=VRAI $c niveau_intermediaire=$BLANC $c niveau_inferieur=$NOIR $c niveau_superieur=$NOIR $c seuil_inferieur=%d $c seuil_superieur=%d $c $formatI | $c $xci/liste_points$X $c fond=$NOIR $c eXYZ=VRAI $c eX=FAUX $c eY=FAUX $c eZ=FAUX Z=%d $c eN=FAUX $c epoints=FAUX $c $formatI $c >> $FLiStE_PoInTs\n" $c ,MIN2(MAX2(niveau,Noir),Blanc) $c ,MIN2(MAX2(niveau,Noir),Blanc) $c ,Z $c ); $c } $c } $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^/ /" \ $Z -e 's/$/ /' \ $Z >> $FLiStEP $Z _____include(_____xiirv/.NDIM.43.1._____U) $Z FilSTmpE FLiStE_PoInTs $Z FilSTmpE FLiStEP