#!/bin/csh ####################################################################################################################################### # # # M I S E E N N O I R E T B L A N C D ' U N E I M A G E E N V R A I E S C O U L E U R S : # # # # # # Utilisation : # # # # $xci/get_JPEG.11$Z <imageA> <imageR> # # # # # # Author of '$xci/get_JPEG.11$Z' : # # # # Jean-Francois COLONNA (LACTAMME, 20060707174318). # # # ####################################################################################################################################### set nomA=$1 set nomR=$2 if (! -e $nomA) then #20111214173554____: set nomA=$nomA$JPEG # SET1s nomA = $nomA$JPEG else endif if (-e $nomA) then switch ("$SYSTEME") # Recuperation et conversion du fichier '$JPEG'... # # # # Discrimination des differents SYSTEMEs possibles : # case "SYSTEME_APC_LinuxDebian_GCC": case "SYSTEME_APC_LinuxMandrake_GCC": case "SYSTEME_APC_LinuxRedHat_GCC": case "SYSTEME_APC_LinuxUbuntu_GCC": case "SYSTEME_APC_LinuxUbuntu_ICC": case "SYSTEME_APC_LinuxUlmint_GCC": case "SYSTEME_APC_LinuxUlmint_ICC": source $Fdivers # Afin de definir l'alias 'SwapB' si besoin est... # set DiMeNsIoN=`$CONVERT -verbose JPEG:$nomA $nul |& $GRE -v $nul` #20061026161622____: set DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e "s/^.* \([$Alphabet_0_9]*x[$Alphabet_0_9]*\) "'.*$/\1/'` # set DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e 's/+[^ ]*\( \)/\1/'` set DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e "s/^.* \([$Alphabet_0_9]*x[$Alphabet_0_9]*\) "'.*$/\1/'` # La modification du 20061026161622 est liee a l'edition de la taille de l'image suivant la # # MACHINE utilisee. Par exemple : # # # # LACT15 : 4724x3612 # # LACT16 : 4724x3612+0+0 # # # # pour l'image 'v $xiHi/DENIS_FADIER.01$JPEG'. # set DiMeNsIoN=`echo "$DiMeNsIoN" | $SE -e "s/x/ /"` set DiMeNsIoN_X=$DiMeNsIoN[1] set DiMeNsIoN_Y=$DiMeNsIoN[2] # Recuperation de la largeur '$DiMeNsIoN_X' et de la hauteur '$DiMeNsIoN_Y' de l'image # # Argument... # set RaPpOrT_XsY_A=`calcul $DiMeNsIoN_X/$DiMeNsIoN_Y` set RaPpOrT_XsY_R=`calcul $dimX/$dimY` # Calcul des rapports X/Y des images Argument et Resultat... # FileTmpB nomT1 $RVB FileTmpB nomT2 # Generation de noms temporaires... # $CONVERT -size "$DiMeNsIoN_X""x""$DiMeNsIoN_Y" \ -depth $NBitsOctet \ JPEG:$nomA \ -flip \ RGBA:$nomT1 # Changement de taille et de format de codage de l'image Argument... # # # # ATTENTION : j'ai essaye d'ecrire directement (afin de changer simultanement la taille # # et le format de codage) : # # # # $CONVERT -size "$DiMeNsIoN_X""x""$DiMeNsIoN_Y" # # -depth $NBitsOctet # # JPEG:$nomA # # -flip # # -resize "$dimX""x""$dimY" # # RGBA:$nomT1 # # # # mais malheureusement la taille du fichier '$nomT1' n'etait pas egale a quatre fois le # # produit de '$dimX' par '$dimY' (a titre d'exemple elle etait de 3060000 pour 1000x1000 # # et de 30400 pour 100x100), d'ou cette solution en deux temps en faisant le changement # # de taille (et de proportion en general...) avec '$xci/format.01$X' ci-apres... # SwapB $nomT1 # Permutation des octets... # SformatI # Sauvegarde de '$formatI'... # @ X_MiN = $DiMeNsIoN_X - 1 @ Y_MiN = $DiMeNsIoN_Y - 1 XYmaxNe $X_MiN $Y_MiN # Mise en place du '$formatI' correspondant a l'image Argument... # $xci/RVB_load$X \ A=$nomT1 \ RVB=VRAI \ R=$nomT2 \ $formatI # Conversion en un triplet {ROUGE,VERTE,BLEUE}... # set FoRmAtR=`echo "$sformatI" | $SE -e "s/\(=\)/R\1/g"` execRVB $xci/format.01$X A=$nomT2%s mode=2 R=$nomR%s $formatI $FoRmAtR # Et enfin, mise au format demande... # SformatI # Restauration de '$formatI'... # FileTmpE nomT1 FileTmpE nomT2 # Nettoyage final... # breaksw case "SYSTEME_CRAY2_UNICOS_CC": case "SYSTEME_CRAY2_UNICOS_SCC": case "SYSTEME_CRAYC98_UNICOS_CC": case "SYSTEME_CRAYC98_UNICOS_SCC": case "SYSTEME_CRAYC916_UNICOS_CC": case "SYSTEME_CRAYC916_UNICOS_SCC": case "SYSTEME_CRAYYMP1_UNICOS_CC": case "SYSTEME_CRAYYMP1_UNICOS_SCC": case "SYSTEME_CRAYYMP2_UNICOS_CC": case "SYSTEME_CRAYYMP2_UNICOS_SCC": case "SYSTEME_CRAYYMP4_UNICOS_CC": case "SYSTEME_CRAYYMP4_UNICOS_SCC": case "SYSTEME_DECALPHA340_OSF1_CC": case "SYSTEME_DECALPHA340_OSF1_GCC": case "SYSTEME_DECALPHA350_OSF1_CC": case "SYSTEME_DECALPHA350_OSF1_GCC": case "SYSTEME_DECALPHA464_OSF1_CC": case "SYSTEME_DPX2000_SPIX_CC": case "SYSTEME_DPX5000_SPIX_CC": case "SYSTEME_ES9000_AIX_CC": case "SYSTEME_FX2800_CONCENTRIX_FXC": case "SYSTEME_FX2800_CONCENTRIX_PCC": case "SYSTEME_FX2800_CONCENTRIX_SCC": case "SYSTEME_FX40_CONCENTRIX_CC": case "SYSTEME_FX40_CONCENTRIX_FXC": case "SYSTEME_HP705_HPUX_CC": case "SYSTEME_HP710_HPUX_CC": case "SYSTEME_HP720_HPUX_CC": case "SYSTEME_HP750_HPUX_CC": case "SYSTEME_HP755_HPUX_CC": case "SYSTEME_HP819_HPUX_CC": case "SYSTEME_NWS3000_NEWSOS_CC": case "SYSTEME_NWS3000_NEWSOS_2CC": case "SYSTEME_RS6000_AIX_CC": case "SYSTEME_SG4D20G_IRIX_CC": case "SYSTEME_SG4D25TG_IRIX_CC": case "SYSTEME_SG4D310VGX_IRIX_CC": case "SYSTEME_SG4D35TG_IRIX_CC": case "SYSTEME_SG4D85GT_IRIX_CC": case "SYSTEME_SGIND308_IRIX_CC": case "SYSTEME_SGIND324_IRIX_CC": case "SYSTEME_SGIND3GA_IRIX_CC": case "SYSTEME_SGIND408_IRIX_CC": case "SYSTEME_SGIND424_IRIX_CC": case "SYSTEME_SGIND4GA_IRIX_CC": case "SYSTEME_SGIND508_IRIX_CC": case "SYSTEME_SGIND524_IRIX_CC": case "SYSTEME_SGIND5GA_IRIX_CC": case "SYSTEME_SGIND808_IRIX_CC": case "SYSTEME_SGIND824_IRIX_CC": case "SYSTEME_SGIND8GA_IRIX_CC": case "SYSTEME_SGINDA08_IRIX_CC": case "SYSTEME_SGINDA24_IRIX_CC": case "SYSTEME_SGINDAGA_IRIX_CC": case "SYSTEME_SGO200A1_IRIX_CC": case "SYSTEME_SGO200A2_IRIX_CC": case "SYSTEME_SGO200A4_IRIX_CC": case "SYSTEME_SGO25224_IRIX_CC": case "SYSTEME_SGO252VA_IRIX_CC": case "SYSTEME_SGO252VN_IRIX_CC": case "SYSTEME_SGPCM801_IRIX_CC": case "SYSTEME_SGPCMA01_IRIX_CC": case "SYSTEME_SPS9_ROS_CC": case "SYSTEME_SPS9_ROS_RC": case "SYSTEME_SUN3_SUNOS_CC": case "SYSTEME_SUN4_SUNOS_CC": case "SYSTEME_SUN4NCUBE2S_SUNOS_CC": case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC": case "SYSTEME_VAX8600_ULTRIX_CC": case "SYSTEME_VAX8600_ULTRIX_VCC": case "SYSTEME_VAX9000_ULTRIX_CC": case "SYSTEME_VAX9000_ULTRIX_GCC": case "SYSTEME_VAX9000_ULTRIX_VCC": breaksw case "SYSTEME_IMPOSSIBLE": # Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens : # EROR "Une sequence n'a pas de sens pour '"$SYSTEME"'." breaksw default: # Cas des SYSTEMEs non reconnus : # EROR "Variable 'SYSTEME' (='$SYSTEME') inconnue." breaksw endsw else EROR "Le fichier '$nomA' n'existe pas." endif