/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        R E H A U S S E M E N T   D E S   C O M P O S A N T E S   C H R O M A T I Q U E S                                          */
/*        D ' U N E   I M A G E   P A R   C O M B I N A I S O N S   L I N E A I R E S   D E   C E L L E S - C I  :                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Cette commande rehausse les differentes                                                                        */
/*                  comnposantes chromatiques d'une image en vraies                                                                  */
/*                  couleur en ajoutant a priori un peu du ROUGE et                                                                  */
/*                  un peu du BLEUE au VERTE. Elle permet aussi, par                                                                 */
/*                  exemple de permuter les composantes entre elles.                                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xci/rehausse.02$K' :                                                                                           */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1994??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        I N T E R F A C E   ' listG '  :                                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        :Debut_listG:                                                                                                              */
/*        :Fin_listG:                                                                                                                */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D I R E C T I V E S   S P E C I F I Q U E S   D E   C O M P I L A T I O N  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F I C H I E R S   D ' I N C L U D E S  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  INCLUDES_BASE
#include  image_image_QUAD_IMAGE_EXT

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   COEFFICIENT_ROUGE_ROUGE                                                                                                       \
                    FU
#define   COEFFICIENT_ROUGE_VERTE                                                                                                       \
                    FZERO
#define   COEFFICIENT_ROUGE_BLEUE                                                                                                       \
                    FZERO
                                        /* Definition de la composante ROUGE Resultat.                                               */
#define   COEFFICIENT_VERTE_ROUGE                                                                                                       \
                    GRO1(FRA8(FU))
#define   COEFFICIENT_VERTE_VERTE                                                                                                       \
                    GRO6(FRA8(FU))
#define   COEFFICIENT_VERTE_BLEUE                                                                                                       \
                    GRO1(FRA8(FU))
                                        /* Definition de la composante VERTE Resultat.                                               */
#define   COEFFICIENT_BLEUE_ROUGE                                                                                                       \
                    FZERO
#define   COEFFICIENT_BLEUE_VERTE                                                                                                       \
                    FZERO
#define   COEFFICIENT_BLEUE_BLEUE                                                                                                       \
                    FU
                                        /* Definition de la composante BLEUE Resultat.                                               */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/luminance.01.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        R E H A U S S E M E N T   D E S   C O M P O S A N T E S   C H R O M A T I Q U E S                                          */
/*        D ' U N E   I M A G E   P A R   C O M B I N A I S O N S   L I N E A I R E S   D E   C E L L E S - C I  :                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
                                        /* Nom de l'image a generer.                                                                 */
     DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_UNDEF));
                                        /* Nom de l'image {ROUGE,VERTE,BLEUE} a utiliser (ce mode "RVB" implicite a ete introduit    */
                                        /* le 20050920154903).                                                                       */
     DEFV(CHAR,INIC(POINTERc(nom_imageAR),NOM_PIPE));
                                        /* Nom de l'image ROUGE a utiliser,                                                          */
     DEFV(CHAR,INIC(POINTERc(nom_imageAV),NOM_PIPE));
                                        /* Nom de l'image VERTE a utiliser,                                                          */
     DEFV(CHAR,INIC(POINTERc(nom_imageAB),NOM_PIPE));
                                        /* Nom de l'image BLEUE a utiliser.                                                          */
     DEFV(CHAR,INIC(POINTERc(nom_imageRR),NOM_PIPE));
                                        /* Nom de l'image ROUGE a generer,                                                           */
     DEFV(CHAR,INIC(POINTERc(nom_imageRV),NOM_PIPE));
                                        /* Nom de l'image VERTE a generer,                                                           */
     DEFV(CHAR,INIC(POINTERc(nom_imageRB),NOM_PIPE));
                                        /* Nom de l'image BLEUE a generer.                                                           */
     DEFV(Float,INIT(coefficient_ROUGE_ROUGE,COEFFICIENT_ROUGE_ROUGE));
     DEFV(Float,INIT(coefficient_ROUGE_VERTE,COEFFICIENT_ROUGE_VERTE));
     DEFV(Float,INIT(coefficient_ROUGE_BLEUE,COEFFICIENT_ROUGE_BLEUE));
                                        /* Definition de la composante ROUGE Resultat.                                               */
     DEFV(Float,INIT(coefficient_VERTE_ROUGE,COEFFICIENT_VERTE_ROUGE));
     DEFV(Float,INIT(coefficient_VERTE_VERTE,COEFFICIENT_VERTE_VERTE));
     DEFV(Float,INIT(coefficient_VERTE_BLEUE,COEFFICIENT_VERTE_BLEUE));
                                        /* Definition de la composante VERTE Resultat.                                               */
     DEFV(Float,INIT(coefficient_BLEUE_ROUGE,COEFFICIENT_BLEUE_ROUGE));
     DEFV(Float,INIT(coefficient_BLEUE_VERTE,COEFFICIENT_BLEUE_VERTE));
     DEFV(Float,INIT(coefficient_BLEUE_BLEUE,COEFFICIENT_BLEUE_BLEUE));
                                        /* Definition de la composante BLEUE Resultat.                                               */
     /*..............................................................................................................................*/
     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("imageAR=""AR=",nom_imageAR);
                         GET_ARGUMENT_C("imageAV=""AV=",nom_imageAV);
                         GET_ARGUMENT_C("imageAB=""AB=",nom_imageAB);
                         GET_ARGUMENT_C("imageRR=""RR=",nom_imageRR);
                         GET_ARGUMENT_C("imageRV=""RV=",nom_imageRV);
                         GET_ARGUMENT_C("imageRB=""RB=",nom_imageRB);
                         GET_ARGUMENT_F("cRR=",coefficient_ROUGE_ROUGE);
                         GET_ARGUMENT_F("cRV=",coefficient_ROUGE_VERTE);
                         GET_ARGUMENT_F("cRB=",coefficient_ROUGE_BLEUE);
                         GET_ARGUMENT_F("cVR=",coefficient_VERTE_ROUGE);
                         GET_ARGUMENT_F("cVV=",coefficient_VERTE_VERTE);
                         GET_ARGUMENT_F("cVB=",coefficient_VERTE_BLEUE);
                         GET_ARGUMENT_F("cBR=",coefficient_BLEUE_ROUGE);
                         GET_ARGUMENT_F("cBV=",coefficient_BLEUE_VERTE);
                         GET_ARGUMENT_F("cBB=",coefficient_BLEUE_BLEUE);

                         GET_ARGUMENT_L("eviter_apparition_NOIR=""eviter_NOIR=""NOIR="
                                       ,Iinterpolation_barycentrique_____eviter_l_apparition_du_NOIR
                                        );
                                        /* Argument introduit le 20090529135437...                                                   */
                         )
                    );

     GENERER_LE_NOM_DE_TROIS_COMPOSANTES_CHROMATIQUES_RVB(nom_imageA,nom_imageAR,nom_imageAV,nom_imageAB)
                                        /* Introduit le 20050920154903...                                                            */

     Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageA1,nom_imageAR))))
          Bblock
          Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageA2,nom_imageAV))))
               Bblock
               Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageA3,nom_imageAB))))
                    Bblock
                    CALS(Iinterpolation_barycentrique(Image_ROUGE
                                                     ,coefficient_ROUGE_ROUGE,ImageA1
                                                     ,coefficient_ROUGE_VERTE,ImageA2
                                                     ,coefficient_ROUGE_BLEUE,ImageA3
                                                      )
                         );
                    CALS(Iinterpolation_barycentrique(Image_VERTE
                                                     ,coefficient_VERTE_ROUGE,ImageA1
                                                     ,coefficient_VERTE_VERTE,ImageA2
                                                     ,coefficient_VERTE_BLEUE,ImageA3
                                                      )
                         );
                    CALS(Iinterpolation_barycentrique(Image_BLEUE
                                                     ,coefficient_BLEUE_ROUGE,ImageA1
                                                     ,coefficient_BLEUE_VERTE,ImageA2
                                                     ,coefficient_BLEUE_BLEUE,ImageA3
                                                      )
                         );
                                        /* Combinaison des trois composantes entre elles...                                          */

                    CALi(Iupdate_image(nom_imageRR,Image_ROUGE));
                    CALi(Iupdate_image(nom_imageRV,Image_VERTE));
                    CALi(Iupdate_image(nom_imageRB,Image_BLEUE));
                    Eblock
               ATes
                    Bblock
                    Test__CODE_ERREUR__ERREUR07;
                    Eblock
               ETes
               Eblock
          ATes
               Bblock
               Test__CODE_ERREUR__ERREUR07;
               Eblock
          ETes
          Eblock
     ATes
          Bblock
          Test__CODE_ERREUR__ERREUR07;
          Eblock
     ETes

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.