User Intro
Prog Intro
Liste des commandes
Liste des manuels
Table of Contents
melg - mélange de 2 images avec test sur les valeurs de pixels
melg
[image-in]
[-ixi nn]
[-iyi nn]
[-izi nn]
[-ivi nn]
[image-out]
[-ixo nn]
[-iyo nn]
[-izo nn]
[-ivo nn]
[-idx nn]
[-idy nn]
[-idz nn]
[-idv nn]
[[-tr] |
[-rgi in_range]
[-rgo out_range]]
[options de format]
..
melg
remplace les pixels de image-out appartenant à un intervalle
de valeurs, par les
pixels d'une fenêtre de image-in, appartenant
à un autre intervalle de valeurs.
On se ramène à une simple copie si aucun intervalle n'est donné.
- -ixi, -iyi, -izi, -ivi
- Coordonnées (comptées à partir de 1) du 1e élément
de la fenêtre dans image-in (composante ivi du pixel (ixi,iyi,izi).
Valeurs de 1 à NDIMX, 1 à NDIMY, 1 à NDIMZ et 1 à NDIMV, respectivement.
- -ixo, -iyo, -izo, -ivo
- Coordonnées (comptées à partir de 1) du 1e élément
de la fenêtre
dans image-out (valeurs par défaut: 1).
- -idx, -idy, -idz, -idv
- Taille de la fenêtre
(valeurs par défaut= maximum compatible avec les autres paramètres)
- -tr
- transparence simple : seuls les pixels de image-in
dont toutes les composantes
sont strictement supérieures à 0 sont copiées.
Il n'y a pas de contrainte sur les pixels de image-out.
Cette option est incompatible avec -rgi et -rgo.
- -rgi in_range
- Définit l'intervalle de valeurs auquel doivent appartenir ou non
les composantes sélectionnées (par -ivi,-idv) des pixels de image-in pour être copiés
dans image-out. Par défaut, tous les pixels sont copiés.
Voir plus loin pour la définition des intervalles.
Cette option est incompatible avec -tr
(-tr est équivalent à -rgi "0[").
- -rgo out_range
- Définit l'intervalle de valeurs auquel doivent appartenir ou non
les composantes sélectionnées (par -ivo,-idv) des pixels de image-out pour pouvoir être
remplacés par des pixels de image-out.
Par défaut, n'importe quel pixel peut être remplacé.
Voir plus loin pour la définition des intervalles.
Cette option est incompatible avec -tr.
image-in et image-out devront avoir le même codage. Si image-out n'existe pas
on donnera ses dimensions.
Cette operation nécessitant une lecture de l'image de
sortie, si celle-ci n'existe pas elle est considérée comme étant nulle.
Si l'argument image-in est absent ou égal à '-' on prendra stdin.
Si l'argument image-out est absent on prendra stdout.
- Définition des intervalles
- Les intervalles utilisés par -rgi et -rgo sont de la forme
pix1,pix2, avec pixi=v1/.../vn pour des pixels à n
composantes v1...vn.
Les valeurs vi sont données en entier (format hexadécimal si commençant
par 0x, décimal sinon) pour des images codées sur 1 a' 8 bits, en flottant
dans tous les autres cas.
Un intervalle peut être ouvert ou fermé à chaque extrémité.
Pour le préciser on utilise les caractères [ et ]
(intervalle fermé par défaut).
Les expressions pix1,pix2 et [pix1,pix2] sont équivalentes.
Si l'on veut sélectionner les pixels hors de l'intervalle, on ajoutera
le caractère ~ devant la définition.
Par exemple un intervalle de la forme "~[10,20]" sélectionnera les
pixels dont l'une au moins des composantes est strictement inférieure à 10
ou strictement supérieure à 20.
On n'est pas obligé de donner toutes les composantes des pixels.
Les composantes manquantes sont obtenues par répétition de la dernière connue.
Par exemple -rgi ']0' suffit pour dire
qu'on ne prend que les pixels dont toutes les composantes
sont >0.
Note: l'utilisation des options -tr, -rgi ou -rgo
ne donnera des résultats intéressants que si les images sont bien adaptées.
Le choix de l'intervalle peut s'avérer délicat pour des images en couleur.
Dans les exemples suivants, on suppose que in.inr est une image couleur
256x256 (-x 256 -y 256 -v 3) et out.inr une image couleur 512x512 (-x 512 -y 512 -v 3)
melg in.inr out.inr -ixo 129 -iyo 129
incruste in.inr au centre de out.inr.
melg in.inr out.inr -tr
incruste les pixels non nuls de in.inr dans le coin haut gauche de out.inr
melg in.inr out.inr -rgi "~0,0/0/255"
incruste les pixels non strictement bleus de in.inr dans out.inr
melg in.inr out.inr -idv 1 -ivi 2 -ivo 2
remplace la composante verte de out.inr par celle de in.inr.
extg(1i)
.
Voir Inrimage(1i)
pour la description des options générales.