#######################################################################################################################################
# #
# 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