Annexe A. Transformations géométriques d une image. 1 Translation. Contenu du chapitre. Page 413

Documents pareils
Les algorithmes de base du graphisme

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

GUIDE Excel (version débutante) Version 2013

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Traitement bas-niveau

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

COURS BARDON - EXCEL 2010

Résolution d équations non linéaires

Limites finies en un point

Chapitre 2. Matrices

Formats d images. 1 Introduction

Guide d utilisation du logiciel e-enfance

Structures algébriques

Modules Multimédia PAO (Adobe)

Feuille d exercices 2 : Espaces probabilisés

Optimisation Discrète

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Exercices - Polynômes : corrigé. Opérations sur les polynômes

TD : Codage des images

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Cours d Analyse. Fonctions de plusieurs variables

Jean-Philippe Préaux

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Nicolas VAN LABEKE LORIA/CNRS, Université Henri Poincaré - Nancy I, BP 239, F Vandoeuvre les Nancy Cedex,FRANCE vanlabek@loria.

Opérations de base sur ImageJ

Transmission d informations sur le réseau électrique

Utiliser le logiciel Photofiltre Sommaire

Cours d initiation à la programmation en C++ Johann Cuenin

TP : Gestion d une image au format PGM

EXCEL TUTORIEL 2012/2013

Cours Fonctions de deux variables

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

n N = u N u N+1 1 u pour u 1. f ( uv 1) v N+1 v N v t

La Clé informatique. Formation Excel XP Aide-mémoire


Programmation linéaire

Architecture des Systèmes d Information Architecture des Systèmes d Information

Relation entre deux variables : estimation de la corrélation linéaire

SUGARCRM MODULE RAPPORTS

Gérer les règles de prix catalogue sur Magento

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Fonctions de plusieurs variables

L espace de travail de Photoshop

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Recherche De Coalescences Binaires Étalonnage Du Détecteur

Choisir entre le détourage plume et le détourage par les couches.

Cours de Probabilités et de Statistique

Réaliser un PUBLIPOSTAGE

Master d Informatique M1 Université Paris 7 - Denis Diderot Travail de Recherche Encadré Surf Bayesien

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Polynômes à plusieurs variables. Résultant

Comparaison de fonctions Développements limités. Chapitre 10

Programmation linéaire

NOMBRES COMPLEXES. Exercice 1 :

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Simulation de variables aléatoires

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

Cours d algorithmique pour la classe de 2nde

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Intérêt du découpage en sous-bandes pour l analyse spectrale

Initiation à linfographie

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Projet : Recalage par maximisation de l information mutuelle

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Image d un intervalle par une fonction continue

TUTORAT DU PORTAIL FAMILLES

Qu est-ce qu une probabilité?

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

TP SIN Traitement d image

Triangle de Pascal dans Z/pZ avec p premier

Les images et les animations sur le web. Guérineau Chloé BTS2 Année 2001/2012

Les images numériques. 1. Le dessin vectoriel

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Continuité en un point

Chapitre 2 Le problème de l unicité des solutions

1. Introduction / Identification

: seul le dossier dossier sera cherché, tous les sousdomaines

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Le produit semi-direct

TP Blender n 2 : Importation d un modèle SketchUp et animation

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Jean Dubuffet AUTOPORTRAIT II

Initiation à la programmation en Python

Cours de numérisation sur Epson Perfection

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Transcription:

Page 3 Annexe A Transformations géométriques d une image Contenu du chapitre Translation..... 3 Rotation...... 3 Changement d échelle..... 7 Nous étudions dans cette partie comment effectuer les transformations géométriques de base sur une image numérique. Ces transformations peuvent s avérer utiles dans de nombreux cas (adaptation d une texture à la taille d un objet ou à son orientation, manipulation d un z-buffer,...). Translation Une translation de vecteur entier v =(p, q) où (p, q) Z, la translation d un point P i,j de coordonnées (i, j) est trivialement un point unique P : T v (P i,j )=P (i,j)+(p,q) = P i+p,j+q Les transformations avec des vecteurs non entiers n ont d intérêt que dans des cas particuliers (par exemple le recalage). La nouvelle image est calculée à partir des pondérations par la proportion du pixel tombant dans la grille décalée. Le vecteur de translation v peut alors s écrire sous la forme v =(d x + ε x,d y + ε y ) où (d x,d y ) sont

- ROTATION Page un couple d entiers et (ε x,ε y ) sont un couple de réels entre et. On note P i,j le niveau de gris du point de coordonnées (i, j) et P i,j le point de même coordonnées dans l image transformée, on a : P i+d x,j+d y =( ε x )( ε y )P i,j +( ε x )ε y P i,j + ε x ( ε y )P i,j + ε x ε y P i,j où les produits en ε x et ε y sont les portions d aire participant à la construction du nouveau pixel décalé. À noter que ces coefficients sont constants, et que par conséquent l image transformée est évaluée par (au plus) sommes pondérées par point (voir figure A.). FIG. A. translation non entière. Les nouveaux pixels s obtiennent par somme pondérée (en pointillé, la grille de l image résultat ; en continu, l image translatée). Rotation La rotation d une image discrète pose un problème de complexité car dans la plupart des cas, on n observe aucune périodicité pouvant permettre d accélerer le calcul. Un pixel transformé peut utiliser jusqu à la contribution de pixels (voir le pixel central de la figure A.). FIG. A. Rotation d une image : l image après rotation (grille en traits continus) doit être recalculée dans la grille de l écran (grille en traits pointillés). La proposition suivante nous donne les bases d un algorithme afin d effectuer rapidement une rotation :

CHAPITRE A-TRANSFORMATIONS GÉOMÉTRIQUES D UNE IMAGE Page 5 Propriétés Soit R θ la matrice de rotation d angle θ et de centre O. Alors : [ ] [ ][ ][ ] cos(θ) sin(θ) α α R θ = = sin(θ) cos(θ) β avec α = tan( θ ) et β = sinθ. Démonstration: Avec la relation trigonométrique tan( θ cosθ )=,onvérifie facilement le résultat. sinθ Note : la transformation géométrique affine : [ a s appelle un shearing (cisaillement). Elle ne modifie qu une seule des deux coordonnées à la fois (voir figure A.3). ] FIG. A.3 Résultat d un shearing en x avec a<. Conséquence : la rotation des coordonnées d un point P x,y de la grille de l écran s effectue par les 3 shearings successifs suivants :. x = x + α.y. y = y + β.x 3. x = x + α.y avec α = tan( θ ) et β = sinθ. Les transformations données ci-dessus permettent de connaître les positions géométriques des points de la grille de l image après transformation mais pas de calculer les couleurs associées à chaque point. La valeur du pixel final se calcule (comme dans le cas d une translation non entière) en effectuant une somme pondérée (en fonction de l aire participative) des valeurs des pixels transformés (voir figure A.5). Plus en détail, et présenté à la figure A.5, on a : Chaque pixel transformé intersecte pixels de la grille de l écran (voir (b)). Il y a 3 intersections au plus (voir la deuxième ligne en (a)).

- ROTATION Page (a) original (b) shearing (c) shearing (d) shearing 3 FIG. A. Larésultat des 3 shearings successifs pour θ =35 o. On constate que, sur une même ligne, tous les pixels transformés se découpent exactement de la même façon (ce qui se démontre facilement avec l équation de la transformation). Donc, en (c), A i = A i et B i = B i. La valeur sur la grille de l écran obtenu après transformation pour le cas présenté en (c) est : aire(b i ).P i + aire(a i ).P i où P i est la couleur du point d indice i sur la ligne, et aire est la mesure de l aire en unité de pixel, i.e. A i + B i =(l aire mesure donc ici la proportion du pixel). A A i A i B B i B i (a) En pointillé, la grille de l écran. En trait continu, la façon dont les pixels sont transformés (b) Zoom sur un pixel transformé. Il est à cheval sur deux pixels de la grille de l écran. FIG. A.5 Mise en oeuvre d un shearing. (c) Zoom sur un pixel de la grille. Son niveau de gris est calculéà partir de la contribution de deux pixels transformés.

CHAPITRE A-TRANSFORMATIONS GÉOMÉTRIQUES D UNE IMAGE Page 7 L angle θ de la rotation ne doit jamais dépasser 9 o. Pour les autres angles, effectuer les symétries nécessaires. Cette méthode permet donc d effectuer une rotation en 3 passes, chaque passe n ayant qu une faible complexité. FIG. A. Exemple de rotation discrète d une image obtenue après 3 shearings. 3 Changement d échelle Le changement d échelle d une image pose des problèmes inattendus, même dans des cas extrêmement simples. Considérons le signal D discret constitué d une suite de (noir) et de (blanc). Cet exemple est aisément transposable en dimensions. On souhaite modifier l échelle de cette image d un facteur. Une approche naïve consiste à effectuer les opérations suivante (voir figure A.7) : pour le grossissement par, chaque point est répété une fois. pour le rétrécissement par, on prend un point sur deux. Les problèmes sont les suivants : Dans le cas du grossissement, la répétition d un même point crée des aplats très visibles à l oeil. Dans le cas du rétrécissement, la présence de motifs d une fréquence supérieure à celle du sous-échantillonnage crée de l aliasing. Dans le cas présenté, la réduction d échelle crée un signal complètement noir ou complètement blanc alors que l aspect visuel du signal est le gris (mélange des deux).

3- CHANGEMENT D ÉCHELLE Page (b) Grossissement par (a) Signal original ou (c) Rétrécissement par FIG. A.7 Changement d échelle naïf Nous présentons une méthode de changement d échelle basée sur l utilisation de filtres passe-bas. Les filtres utilisés sont séparables. Cela signifie qu ils sont unidimensionnels (i.e. ils ne travaillent que dans une direction), mais que l utilisation du filtre dans une direction (x ou y) puis dans l autre (y ou x) effectuera le traitement bidimensionnel attendu. Les lignes de l image (resp. les colonnes) sont traitées une par une comme autant de signaux unidimensionnels. Image Changement d échelle sur les lignes Changement d échelle sur les colonnes Image redimensionnée Le problème du redimensionnement se formalise ainsi : soit {s i } un signal unidimensionnel discret échantillonné avec un pas de. Comment construire un nouveau signal discret {t j } de pas d échantillonnage T e à partir de {s i }? La solution passe par deux étapes que nous détaillons juste après.. construction d un signal continu S h (t) par interpolation du signal discret {s i } par convolution avec un filtre passe-bas K.. échantillonnage du signal continu S h (t) avec un pas T e : t j = S h (j.t e ) Interpolation : elle s effectue de la manière suivante : S h (t) = [K h ] s i.δ i (t) = s i.k h (t i) (A.) i où δ i est la distribution de Dirac en i et K h est un filtre (voir ci-dessous). Dans le cas où la fonction K h est un sinus cardinal, cette équation s apparente à la formule de reconstruction continue des signaux discrets dans l analyse de Fourier.

CHAPITRE A-TRANSFORMATIONS GÉOMÉTRIQUES D UNE IMAGE Page 9 Filtre K h : K h est défini à partir du filtre passe-bas K par la formule de changement d échelle : K h (t) = h K( t h ) (A.) où le facteur h est un réel strictement positif permettant de changer la largeur du filtre. Le sens de ce paramètre est expliqué à la figure A. avec un filtre triangulaire. Le paramètre h permet donc de contrôler la largeur de ce filtre. La valeur h =effectue uniquement une interpolation de la fonction discrète. Les valeurs de h> filtrent les hautes fréquences - plus h est grand, plus le filtrage passe-base est important. - - FIG. A. Les fonctions K et K obtenues à partir de l équation A. et du filtre triangulaire K (en trait continu). Filtres passe-bas : les filtres passe-bas les plus couramment utilisés sont présentés à la figure A.9. On rappelle qu un filtre large dans le domaine temporel est étroit dans le domaine fréquentiel et vice-versa.

3- CHANGEMENT D ÉCHELLE Page - - Fonction porte K(t) =I ], ] (t) - - Fonction triangle K(t) =(+t).i ],] (t)+( t).i ],] (t) - - Fonction cubique K(t) =( x 3 3 x +)I [,] (t) - - Fonction sinus cardinal K(t) = sin(πx) πx FIG. A.9 Filtres passe-bas utilisés pour le changement d échelle. Quelques remarques avec ces fonctions : la fonction porte crée des aplats si T e <. la fonction sinus cardinal a l inconvénient d être à support infini et donc d augmenter le nombre de points de {s i } à utiliser lors de l évaluation de l interpolation de la fonction en un point. Elle donne exactement le même résultat qu une interpolation en passant dans le domaine de Fourier. les filtres continus permettent d obtenir des images d apparence continue, donc avec un effet de flou naturel quand T e <.

CHAPITRE A-TRANSFORMATIONS GÉOMÉTRIQUES D UNE IMAGE Page Traitement de l aliasing : la fonction interpolée S h (t) peut être utilisée de deux façons différentes : sit e <, l image est grossie de /T e fois. On échantillonne avec une fréquence plus élevée que la fonction d origine et il n y a pas de problème d aliasing. On choisit directement h =pour l interpolation (les trous entre les échantillons sont bouchés avec le filtre passe-bas). sit e >, l image est réduite de T e fois. On échantillonne avec une fréquence plus basse que la fonction d origine. Il y a donc risque d aliasing. Il est alors nécessaire d adapter la largeur du filtre passe-bas au pas d échantillonnage utilisé afin de gommer (moyenner) les détails trop fins pour le pas avec lequel on va échantillonner. On choisit h = T e pour l interpolation. Algorithme général : l algorithme de changement d échelle pour un signal unidimensionnel est donc le suivant :. Soit T e le nouveau pas d échantillonnage (= facteur de rétrécissement ou inverse du facteur de grossissement). Choisir h : { si Te < h = sinon. Calculer les nouveaux points : T e t j = i s i.k h (j.t e i) (A.3) Aspects pratiques : les points suivants permettent d améliorer la vitesse globale de traitement de l algorithme. C est la largeur du support de K qui détermine le nombre de points à utiliser dans la somme A.3. Il faut donc choisir si possible des noyaux à support compact. Il est préférable de tabuler les valeurs de K h (j.t e i) car chacune est utilisée au moins une fois par ligne. Cette méthode est générale et permet d effectuer tout changement d échelle non entier.

3- CHANGEMENT D ÉCHELLE Page cas T e =. < cas T e =3> 3 5 7 9 (a) Données discrètes initiales. On veut grossir d un facteur.5 (T e =.). teur 3 (T e (d) Données discrètes initiales. On veut rétrécir d un fac- =3). 5 5 5 3 3 5 7 9 5 5 5 3 (b) Interpolation avec un noyau cubique. La fonction interpolée est la somme des filtres. large que le pas entre données pour gommer les (e) Interpolation avec un noyau cubique. Le filtre est plus détails. 3 5 7 9 5 5 5 3 (c) Données après rééchantillonnage de la fonction interpoléepolée. Il n y a plus de hautes (f) Données après rééchantillonnage de la fonction inter- fréquences. FIG. A. Changement d échelle. A gauche, on augmente le nombre de points (grossissement). A droite, on diminue le nombre de points (rétrécissement).

CHAPITRE A-TRANSFORMATIONS GÉOMÉTRIQUES D UNE IMAGE Page 3 (a) extrait de l image figure A.(a). - - - - - - - - (b) A gauche, le filtre utilisé. A droite, le résultat du zoom. FIG. A. Exemple de grossissement par 3 sur une image.