Transformations, comparaisons de formes à partir du code de Freeman

Transformations, comparaisons de formes à partir du code de Freeman

Le translaté d’un objet connu par le code de Freeman de son contour s’obtient de façon évidente : il suffit de translater le point de départ, le code restant strictement identique. En effet, l’information relative au point de départ n’est pas modifiée. D’après [Mai], ce qui est appelé dilatation, mais qui correspondrait à l’expansion d’un contour d’un facteur entier n, se ferait simplement en répétant chaque entier du code de Freeman n fois. Par exemple, l’homothétique de rapport trois, du carré minimal représenté figure 3.1 (à gauche) et codé par 6024, donnera le carré décrit par le code 666000222444 (à droite sur cette même figure). Regardons ce qui se passe réellement lors de ce processus. Pour cela, considérons le voisinage V4 comme un objet dont on cherche l’homothétique de rapport 2. Cet objet, codé par 7135, est représenté à gauche sur la figure 3.2 page suivante. Au centre de cette figure est présenté ce que l’on obtient par la méthode décrite ci-dessus. Cette méthode revient en fait à considérer la forme avec une échelle deux fois plus petite que l’échelle initiale. Cependant, elle présente un inconvénient : si l’on reporte sur l’objet homothétique les codants obtenus, ceux-ci ont déformé l’objet de départ. Tout d’abord, il faut étudier le cas du premier pixel de la forme dont on désire l’homo- thétique de rapport deux : si les coordonnées du premier pixel de cette forme sont (x, y),les coordonnées du premier pixel de son homothétique seront (2x − 1, 2y − 1). En effet, le passage du codage d’une forme à son homothétique de rapport deux s’appa- rente à un changement d’échelle du même rapport, et les pixels initiaux sont donc divisés en quatre (du point de vue de l’aire) dans l’homothétique, la distance inter-pixel étant elle divisée par deux. Ainsi, en reprenant l’exemple précédent (voir Figure 3.3) on obtient, pour une forme de départ ayant comme coordonnées pour le premier pixel (2, 3), les coordonnées du premier pixel de l’homothétique : (3, 5).

nts doivent se retrouver par rotations d’angles multiples de 90◦ sans distorsion. De plus ils doivent se trouver vers l’extérieur de la forme de départ étudiée pour couvrir l’ensemble des codants suivants possibles. Ils doivent enfin appartenir au codage possible de l’homothétique Un exemple d’obtention d’un de ces points est présenté figure 3.5 pour le codant courant 0. Le codant courant est en gras, les codants suivants possibles sont en pointillés longs, et les pointillés courts représentent le chemin et surtout l’arrivée de l’homothétique de rapport deux. (Le codant suivant 4 est décalé par rapport à sa véritable position, afin d’être visible et de ne pas être masqué par le codant courant 0.) Le cas du premier codant est à considérer à part. En effet, il faut considérer les quatre cas suivant le premier codant décrivant le contour de la forme à étudier. Ces cas sont présentés dans le tableau de la figure 3.6 : la première colonne donne les premiers codants possibles et la seconde le début du code de la représentation de l’homothétique. Il s’agit en fait pour le code d’aller du pixel de coordonnées (2x − 1, 2y − 1) au point représenté figure 3.4 correspondantLe cas général est présenté dans le tableau de la figure 3.7.Ilprésentelescodantsàajouter au code de l’homothétique pour un nouveau codant arrivant après un codant courant. Le principe est de relier le point de la figure 3.4 page ci-contre correspondant au codant courant au point de cette même figure, correspondant au codant suivant. Sur cette figure, les cas impossibles proviennent du choix de départ du sens de rotation trigonométrique pour le codage (voir figure 1.23 page 18).

Enfin, après le dernier codant, il est nécessaire de fermer le contour de l’objet selon la règle du tableau de la figure 3.8. En effet, il faut relier le dernier point obtenu selon la figure 3.4 page précédente au point de coordonnées (2x − 1, 2y − 1). La figure 3.9 page suivante présente un exemple de forme codée par le code de Freeman (objet le plus à gauche), puis le contour de l’objet reconstruit à partir du code de son contour, vient ensuite le contour de son homothétique de rapport deux reconstruit, et enfin le contour du reconstruit de l’objet obtenu en doublant chaque codant. Si les directions données par le codage de Freeman peuvent être regroupées par paires, il n’y a pas de perte d’information et la contraction est simple. Dans le cas contraire, on réalise une moyenne des deux directions. Si on ne trouve pas un nombre entier, il faut alors tenir compte de la direction précédente (ou de la suivante).

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *