User Intro
Prog Intro
Liste des commandes
Liste des manuels
Table of Contents
fillc - remplissage de contours dans une image
fillc
fichier_contours [image-out]
[-af offset[,coef] [ -fv fill_value | [-ff|-invff] image]
[-add] [-xoff n] [-yoff n]
[-izo n][-nz n][-ivo n][-nv n]
[-pos | -neg]
[-s min[,max]] [-e env] [-l cont-list]
fillc
remplit, dans l'image image-out codée sur 8 bits,
l'intérieur des contours donnés par
le fichier fichier_contours ( produit par anac).
Si le fichier image-out n'existe pas il faut donner ses dimensions
(options -x ndimx -y ndimy-z ndimz -v ndimv).
Si image-out est absent ou égal à -, on écrit sur stdout.
Dans ce cas il faut aussi donner les dimensions de l'image.
Le fichier de contours doit contenir tous les points, et
non une approximation polygonale.
Rappelons que anac construit les contours d'objets pleins.
Par exemple, si l'on considère une image avec un trait blanc dessinant
un contour fermé, anac détectera en fait 2 contours :
l'un, positif, correspondant à l'extérieur du trait,
et l'autre, négatif, correspondant à l'intérieur du trait.
- -pos
- Ne prendre en compte que les contours
positifs.
- -neg
- Ne prendre en compte que les contours
négatifs.
- -af, -fv, -ff, -invff
- Sélectionnent le mode de remplissage des contours.
Elles sont mutuellement exclusives :
-af offset,coef : remplissage de chaque contour avec une valeur calculée à partir
de son numéro, selon la formule :
(offset + ((coef * num_cont) % (256 - offset))).
Cette valeur est égale au numéro de contour, modulo 256 si
offset vaut 0 et coef 1.
Le paramètre coef donne l'espacement entre les valeurs,
et offset permet d'obtenir des valeurs supérieures à un seuil.
-fv fill_value définit une valeur de remplissage constante des contours positifs
(les contour négatifs sont remplis avec des zéros).
Donner une valeur négative revient à donner l'option -af 0,1.
Dans le cas d'une image vectorielle, on pourra donner les valeurs
des N premières composantes en les séparant par /;
les composantes manquantes sont obtenues par répétition de la dernière
composante donnée.
Par exemple -fv 255/0 pour le remplissage en rouge d'une
image en couleur.
-ff image donne un fichier image, qui doit être de même format
que l'image résultat, et dont les pixels seront utilisés pour le
remplissage des contours positifs. L'intérieur des contours négatifs
conservera les valeurs initiales de l'image résultat (option -add ) ou sera
rempli par des zéros.
-invff image : comportement similare au cas prcédent, en inversant le rôle
des contours positifs et négatifs.
- -add
- On ne détruit pas le contenu précédent de
l'image résultat.
- -xoff, -yoff
- Définissent la translation à appliquer
aux contours dans l'image résultat et dans l'image
de remplissage (si option -ff). Les valeurs peuvent être positives ou négatives
(nulles par défaut).
L'unité en X est le pixel (nombre de vecteurs dans le cas d'images vectorielles).
- -izo
- définit le numéro du premier plan à remplir (compté à partir de 1).
Les offsets (-xoff, -yoff) sont alors relatifs à ce plan.
La valeur par défaut est 1.
Si l'option est présente, un contour ne peut déborder d'un plan.
Si les options -izo et -nz sont absentes,
la limite de remplissage est l'image tout entière.
- -nz
- Nombre de plans consécutifs sur lesquels répéter le remplissage.
La valeur par défaut est 1.
Si cette option est présente sans -izo, alors on force
implicitement -izo 1.
- -ivo
- numéro de la première composante de chaque pixel affectée par le
remplissage (1 par défaut).
- -nv
- nombre de composantes vectorielles consécutives à modifier.
- -s
- Ne prendre en compte que les contours dont la surface est
comprise entre les 2 limites smin,smax.
La surface est le nombre de pixels contenus par le contour.
- -e
- Sélection par enveloppe. Si env est positif ou nul,
on ne prend en compte que les contours
dont le numéro d'enveloppe est env, c'est-à-dire qui sont
directement contenus dans le contour env
(si env est nul, on ne garde que les contours les plus extérieurs).
Si env est négatif on ne garde que les contours qui ont une enveloppe.
- -l
- Permet de sélectionner une liste de numéros de contours,
donnés dans l'ordre croissant (numérotation à partir de 1),
par exemple -l 1,3,5-10,11.
Soient 2 images de même taille, im0 en niveaux de gris , et cnt
ne contenant qu'une courbe fermée blanche sur fond noir.
anac cnt cnt.chn -fc
fillc cnt.chn -ff im0 -pos >im0.1
Le résultat est celui du masquage de im0 par le contour de cnt :
dans im0.1 les pixels correspondants a l'intérieur
du contour ont la valeur de ceux de l'image im0,
et les autres sont nuls.
anac cnt cnt.chn -fc
cp im0 im0.2
fillc cnt.chn -fv 0 -pos -add im0.2
Le résultat est le complémentaire du précédent : dans im0.2,
qui est une copie de im0 on a effacé l'intérieur du contour.
fillc cnt.chn -fv 255 -x ndimx -y ndimy >im0.3
Dans ce cas on obtient une image identique à cnt, puisqu'on
a remplit le contour positif avec 255 et le contour négatif avec 0.
Supposons maintenant que imC soit une image couleur au format vectoriel
(ndimv=3) et multiplans, par exemple ndimz=10.
anac cnt cnt.chn -fc
fillc cnt.chn -ff imC -pos -ivo 2 -nv 1 -nz 10 >imC.1
Dans imC.1 chaque plan contient la composante verte
de la partie de imC située à l'intérieur du contour.
aff(1i)
, ero(1i)
, visc(1i)
, anac(1i)
.
Voir Inrimage(1i)
pour la description des options générales.