Brevet FR2935851A1 — publié le 20100312

Module reconfigurable et procédé de mise en oeuvre de ce module reconfigurable pour réaliser des opérations morphologiques DOMAINE DE L'INVENTION L'invention concerne un module reconfigurable et un procédé de mise en oeuvre de ce module reconfigurable permettant de réaliser des opérations morphologiques. En particulier, elle propose un unique module reconfigurable permettant de réaliser de façon optimisée un ensemble d'opérations morphologiques appliquées au traitement d'image. Le module reconfigurable permet notamment de déterminer, à partir d'une image originale, une image intégrale, une image érodée, une image dilatée, une image distance de Manhattan et des projections de l'image originale. lo L'invention s'applique notamment aux domaines de l'électronique embarquée tels que la vidéo pour la téléphonie mobile ou les systèmes d'aide à la conduite. CONTEXTE DE L'INVENTION ù ART ANTERIEUR 15 Les opérations morphologiques constituent les opérations de base du traitement d'image. Elles sont de ce fait très usitées dans le domaine du traitement d'image. Avec le développement des technologies du multimédia, en particulier l'augmentation des résolutions d'image associée à la miniaturisation des circuits électronique, il existe un besoin croissant 20 d'optimisation de ces opérations morphologiques. A ce jour, des circuits intégrés à applications spécifiques, mieux connus sous le terme anglo-saxon "ASIC" pour "Application-Specific Integrated Circuit", permettent d'accélérer les opérations morphologiques. Cependant, un circuit ASIC, pris individuellement, permet uniquement d'accélérer une opération 25 morphologique en particulier. Autrement dit, il n'existe pas de module ASIC pouvant accélérer matériellement plusieurs opérations morphologiques. Par ailleurs, concernant les opérations d'érosion et de dilatation, un circuit ASIC particulier ne peut réaliser ces opérations que pour un élément structurant de dimension prédéfinie, ou tout du moins, pour des éléments structurants de 30 dimension inférieure à la dimension prédéfinie. Autrement dit, un circuit ASIC réalisant une opération d'érosion ou de dilatation par un élément structurant de dimension 3x3 ne peut pas réaliser cette opération d'érosion ou de dilatation par un élément structurant de dimension 5x5. Une solution à ces deux limitations consiste alors à utiliser une structure de calcul programmable telle qu'un ordinateur personnel. Cependant, une telle structure présente des performances bien plus faibles que celles des circuits ASIC. A titre d'exemple, au moins trois cycles par pixels sont nécessaires à l'obtention d'un résultat avec une structure programmable alors qu'un résultat peut être obtenu pour plusieurs pixels en un seul cycle avec certains circuits ASIC. to PRESENTATION DE L'INVENTION Un but de l'invention est notamment de pallier tout ou partie des inconvénients précités en proposant un module reconfigurable permettant de réaliser plusieurs opérations morphologiques avec le meilleur compromis performance ù flexibilité ù surface de silicium. A cet effet, l'invention a pour 15 objet un module reconfigurable comportant un bloc opérateur comprenant cinq entrées et trois sorties. La première sortie du bloc opérateur est apte à délivrer soit le résultat de l'addition de la première et de la deuxième entrée du bloc opérateur, soit le résultat de la soustraction de la deuxième entrée à la première entrée du bloc opérateur, soit le minimum de la première et de la 20 deuxième entrée du bloc opérateur, soit le maximum de la première et de la deuxième entrée du bloc opérateur. La deuxième sortie du bloc opérateur est apte à délivrer soit le résultat de l'addition de la quatrième et de la cinquième entrée du bloc opérateur, soit le résultat de la soustraction de la cinquième entrée à la quatrième entrée du bloc opérateur, soit le minimum de la 25 quatrième et de la cinquième entrée du bloc opérateur, soit le maximum de la quatrième et de la cinquième entrée du bloc opérateur, soit le minimum de la première, de la deuxième et de la quatrième entrée du bloc opérateur, soit le maximum de la première, de la deuxième et de la quatrième entrée du bloc opérateur. La troisième sortie du bloc opérateur est apte à délivrer soit le 30 résultat de l'addition de la première sortie et de la troisième entrée du bloc opérateur, soit le résultat de la soustraction de la troisième entrée à la première sortie du bloc opérateur. L'invention a notamment pour avantage qu'elle permet de réaliser, 35 avec un unique module et de façon optimisée, les opérations d'intégration, d'érosion, de dilatation, de distance de Manhattan et de projection. Les opérations d'érosion et de dilatation peuvent en outre être réalisées avec des éléments structurants de dimension supérieure à 3x3 en chaînant les modules reconfigurables. L'invention a également pour objet un procédé de mise en oeuvre du module reconfigurable décrit ci-dessus. Selon l'invention, le procédé comprend une étape consistant à déterminer, à partir d'une image originale comprenant M lignes et N colonnes de pixels p(m,n), M et N étant des entiers io positifs, soit une image intégrale, soit une image érodée, soit une image dilatée, soit une image distance de Manhattan, soit une projection suivant les lignes et une projection suivant les colonnes de l'image originale. Le type d'image finale peut être déterminé en fonction du type d'opérations effectuées par des additionneurs/soustracteurs appartenant au bloc 15 opérateur et de liaisons établies entre des entrées et des sorties de blocs logiques appartenant au bloc opérateur. L'image intégrale, l'image érodée, l'image dilatée et l'image distance de Manhattan ont la même dimension que l'image originale. 20 DESCRIPTION DES FIGURES L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée d'un mode de réalisation donné à titre d'exemple, description faite en regard de dessins annexés qui représentent : 25 - la figure 1 a, un exemple d'image originale ; - la figure 1 b, une image intégrale associée à l'image originale de la figure la , - la figure 2, une illustration du principe de calcul du poids d'un ensemble de pixels à partir d'une image intégrale ; 30 - la figure 3a, un deuxième exemple d'image originale ; - la figure 3b, une image intermédiaire obtenue par une première étape de l'opération d'intégrale image selon l'invention à partir de l'image originale de la figure 3a ; - la figure 3c, une image intégrale obtenue par une seconde étape de l'opération d'intégrale image selon l'invention à partir de l'image intermédiaire de la figure 3b ; - la figure 4, une illustration du principe de détermination d'une image 5 érodée et d'une image dilatée à partir d'un troisième exemple d'image originale ; - la figure 5, une illustration de la décomposition d'un élément structurant en deux sous-éléments ; - la figure 6a, une illustration du principe de détermination d'une image to intermédiaire obtenue par une première étape de l'opération d'érosion selon l'invention à partir d'un quatrième exemple d'image originale ; - la figure 6b, une illustration du principe de détermination d'une image érodée obtenue par une seconde étape de l'opération d'érosion selon l'invention à partir de l'image intermédiaire de la figure 6a ; 15 - la figure 7, un cinquième exemple d'une image originale binarisée et d'une image distance qui lui est associée ; - la figure 8, une illustration du principe de détermination de l'image distance à partir de l'image originale binarisée de la figure 7 ; - la figure 9, des sous-étapes de l'opération distance city-block selon 20 l'invention permettant d'obtenir une image intermédiaire à partir d'une image originale binarisée ; - la figure 10, un exemple d'image originale binarisée et une image intermédiaire obtenue à partir des sous-étapes de la figure 9 ; - la figure Il, des sous étapes de l'opération distance city-block selon 25 l'invention permettant d'obtenir une image distance à partir d'une image intermédiaire ; - la figure 12, l'image intermédiaire de la figure 10 et une image distance obtenue à partir des sous-étapes de la figure 11 ; - la figure 13, une illustration de l'opération de projection ; 30 - la figure 14, un exemple de bloc opérateur ; - la figure 15, un module reconfigurable comprenant le bloc opérateur de la figure 14 ; - la figure 16, un exemple de chaînage de deux modules reconfigurables selon la figure 15. 35 DESCRIPTION DETAILLEE Description des opérations morphologiques Pour la suite de la description, on considère des images matricielles, autrement dit des images composées de pixels répartis en lignes et en colonnes. D'un point de vue géométrique, les pixels sont assimilés à des rectangles de taille semblable. Un pixel p(m,n) est repéré par rapport à un point d'origine O par son appartenance à une ligne m et à une colonne n, m et n étant des entiers compris entre 1 et, respectivement, le nombre M de lignes et le nombre N de colonnes de l'image. On considère en io outre des images rectangulaires, c'est-à-dire comportant le même nombre de pixels p(m,n) pour chaque ligne. Intégration Les figures 1 a et 1 b illustrent le principe d'une première opération 15 morphologique, appelée intégration. La figure la représente une image, appelée image originale, composée de quatre lignes (M=4) et de quatre colonnes (N=4) de pixels p(m,n), soit seize pixels p(m,n). A chaque pixel p(m,n) de l'image originale est associée une valeur scalaire appelée poids wo(m,n). Pour une image codée sur huit bits, le poids wo(m,n) peut alors être 20 compris entre les valeurs 0 et 255. L'opération d'intégrale image consiste à déterminer une image dite image intégrale, de même taille que l'image originale, pour laquelle le poids wi(m,n) de chaque pixel p(m,n) est déterminé à partir de la somme des poids wo(m,n) de tous les pixels p(x,y) situés dans la surface rectangulaire délimitée par l'origine O et le pixel p(m,n) considéré. 25 L'opération d'intégrale image peut être modélisée par la relation : m n V(m,n)E {1,M]x[1,NIwi(m,n)=EEwo(x,y) (1) x=1 y=1 L'image intégrale ainsi obtenue est représentée à la figure 1 b. A partir de l'image intégrale, il est possible d'accélérer le calcul de la somme des poids wo(m,n) de n'importe quel groupe de pixels p(m,n). Un 30 tel groupe de pixels p(m,n) est appelé surface. La figure 2 illustre le principe de calcul du poids d'un rectangle ABCD. De manière évidente, le poids W de la surface ABCD peut être obtenu, à partir de l'image intégrale, par une addition et deux soustractions selon la relation suivante : W=AûB+C--D (2) 5 L'utilisation de l'image intégrale permet d'éviter d'additionner tous les poids wo(m,n) des pixels p(m,n) appartenant à la surface ABCD. Elle présente un intérêt particulier lorsque plusieurs surfaces doivent être calculées pour une même image et que la résolution de l'image est importante. Selon l'invention, l'intégrale image est déterminée en deux étapes, une première étape déterminant une image intermédiaire à partir de l'image originale et une seconde étape déterminant l'image intégrale à partir de l'image intermédiaire. L'image intermédiaire a, comme l'image intégrale, la io même taille que l'image originale. Un exemple d'image originale est représenté à la figure 3a. Le poids wii(m,n) des pixels p(m,n) de l'image intermédiaire est déterminé de proche en proche en additionnant au poids wo(m,n) du pixel p(m,n) considéré dans l'image originale le poids wii(m-1,n) du pixel p(m-1,n) de l'image intermédiaire situé sur la même colonne à la 15 ligne précédente. Le résultat de l'image intermédiaire est illustré à la figure 3b. Le poids wi(m,n) des pixels p(m,n) de l'image intégrale est alors déterminé, toujours de proche en proche, en additionnant au poids wii(m,n) du pixel p(m,n) considéré dans l'image intermédiaire le poids wi(m,n-1) du pixel p(m,n-1) de l'image intégrale situé sur la même ligne à la colonne 20 précédente. Le résultat de l'image intégrale est illustré à la figure 3c. La détermination des poids wii(m,n) de l'image intermédiaire et des poids wi(m,n) de l'image intégrale peut être modélisée par l'algorithme suivant : POUR m variant de 1 à m, FAIRE : POUR n variant de 1 à N, FAIRE : 25 wii(m,n) = wo(m,n)+ wii(m -1,n) (3) Fin POUR Fin POUR POUR m variant de 1 à m, FAIRE : POUR n variant de 1 à N, FAIRE : 30 wi(m,n) = wii(m, n)+ wi(m,n -1) (4) Fin POUR Fin POUR Les cas particuliers de la première ligne (m=1) et de la première colonne (n=1) peuvent être facilement traités en considérant une ligne et une 35 colonne dites d'initialisation. La ligne d'initialisation (m=0) peut être insérée avant la première ligne (m=1) de l'image intermédiaire. Les poids wii(0,n) de tous les pixels p(O,n) de cette ligne d'initialisation sont fixés à la valeur nulle, de sorte que les poids wii(1,n) des pixels p(1,n) de la première ligne (m=1) de l'image intermédiaire sont égaux aux poids wo(1,n) des mêmes pixels p(1,n) de l'image originale. Par ailleurs, la colonne d'initialisation (n=0) peut être insérée avant la première colonne (n=1) de l'image intégrale. Les poids wi(m,0) de tous les pixels p(m,0) de cette colonne d'initialisation sont fixés à la valeur nulle, de sorte que les poids wi(m,1) des pixels p(m,1) de la première colonne (n=1) de l'image intégrale sont égaux aux poids wii(m,1) io des mêmes pixels p(m,1) de l'image intermédiaire. Selon une autre forme de réalisation, le cas particulier de la première ligne (m=1) est traité en initialisant les poids wii(1,n) des pixels p(1,n) de la première ligne (m=1) de l'image intermédiaire aux mêmes valeurs que les poids wo(1,n) des pixels p(1 ,n) de la première ligne (m=1) de l'image originale, et le cas particulier de 15 la première colonne (n=1) est traité en initialisant les poids wi(m,1) des pixels p(m,1) de la première colonne (n=1) de l'image intégrale aux mêmes valeurs que les poids wii(m,1) des pixels p(m,1) de la première colonne (n=1) de l'image intermédiaire. Les relations 3 et 4 de l'algorithme précédent sont alors déterminées pour m variant de 2 à m et pour n variant de 2 à N. 20 La description précédente est faite en considérant que l'image intermédiaire est obtenue en additionnant ligne par ligne les poids wo(m,n) et wii(m-1,n) des pixels p(m,n) et p(m-1,n) de l'image originale et de l'image intermédiaire et que l'image intégrale est obtenue en additionnant colonne par colonne les poids wii(m,n) et wi(m,n-1) des pixels p(m,n) et p(m,n-1) de 25 l'image intermédiaire et de l'image intégrale. Bien évidemment, il est possible d'inverser les additions ligne par ligne avec les additions colonne par colonne en considérant les ligne et colonne d'initialisation appropriées. L'algorithme devient alors : POUR n variant de 1 à N, FAIRE : 30 POUR m variant de 1 à m, FAIRE : wii(m,n) = wo(m, n) + wii(m, n -1) (3') Fin POUR Fin POUR POUR n variant de 1 à N, FAIRE : 35 POUR m variant de 1 à m, FAIRE : wi(m, n) = wii(m, n)+ wi(m -1,n) (4') Fin POUR Fin POUR Erosion - dilatation La figure 4 illustre le principe de deux autres opérations morphologiques, appelées érosion et dilatation. Ces deux opérations morphologiques sont similaires dans leur réalisation. Dans le cadre d'une image monochrome noir et blanc, l'opération d'érosion est notamment io utilisée pour supprimer les pics de niveaux de gris et pour "agrandir les trous", alors que l'opération de dilatation est utilisée pour élargir les pics de niveaux de gris et pour "boucher les trous". Ces opérations font appel à une fenêtre de travail, également appelée élément structurant, formée d'une maille de pixels. Cette maille peut être carrée, rectangulaire ou hexagonale. 15 Sur la figure 4 sont représentés un exemple d'image originale composée de quatre lignes (M=4) et de quatre colonnes (N=4) de pixels p(m,n) ainsi que les images érodées et dilatées obtenues pour cette image originale après, respectivement, une opération d'érosion et une opération de dilatation par un élément structurant de taille 3x3. L'opération d'érosion consiste à déterminer, 20 pour chaque pixel p(m,n) de l'image originale, un poids we(m,n) correspondant au minimum des poids wo(x,y) des pixels p(x,y) appartenant à l'élément structurant centré sur le pixel p(m,n) considéré. Inversement, l'opération de dilatation consiste à déterminer, pour chaque pixel p(m,n) de l'image originale, un poids wf(m,n) correspondant au maximum des poids 25 wo(x,y) des pixels p(x,y) appartenant à l'élément structurant centré sur le pixel p(m,n) considéré. Selon l'invention, les opérations d'érosion et de dilatation sont chacune déterminées à partir de deux étapes, une première étape 30 déterminant une image intermédiaire à partir de l'image originale et une seconde étape déterminant l'image érodée ou dilatée à partir de l'image intermédiaire. Pour ce faire, l'élément structurant de taille PxQ est décomposé en deux sous-éléments, un premier sous-élément de taille 1 xQ et un second sous-élément de taille Pxl, comme représenté à la figure 5. 35 L'image intermédiaire est alors déterminée en balayant, c'est-à-dire en déplaçant de pixel en pixel, le premier sous-élément sur chaque ligne de l'image originale. L'image érodée ou dilatée est quant à elle déterminée en balayant le second sous-élément sur chaque colonne de l'image intermédiaire. La suite de la description est faite en considération de l'opération d'érosion pour une image originale telle que représentée à la figure 6a et un élément structurant de taille 3x3. Dans la première étape, représentée à la figure 6a, le poids wie(m,n) des pixels p(m,n) de l'image intermédiaire est déterminé en considérant le minimum des poids wo(m,n-1), wo(m,n) et wo(m,n+1) des pixels p(m,n-1), p(m,n) et p(m,n+1) de l'image io originale. Dans la deuxième étape, représentée à la figure 6b, le poids we(m,n) des pixels p(m,n) de l'image érodée est déterminé en considérant le minimum des poids wie(m-1,n), wie(m,n) et wie(m+1,n) des pixels p(m-1,n), p(m,n) et p(m+1,n) de l'image intermédiaire. La détermination des poids wie(m,n) de l'image intermédiaire et des poids we(m,n) de l'image érodée 15 peut être modélisée par les relations suivantes : V(m,n)E [1,M]x[1,N], wie(m,n) = min[wo(m,n -1), wo(m,n), wo(m,n + 1)] (5) we(m,n) = min[wie(m -1, n), wie(m,n), wie(m + 1, n)] (6) Les cas particuliers de la première et de la dernière ligne (m=1 et 20 m=M) et de la première et de la dernière colonne (n=1 et n=N) peuvent être facilement traités en considérant des lignes et des colonnes dites d'encadrement. Les lignes d'encadrement (m=0 et m=M+1) peuvent être insérées avant la première ligne (m=1) et après la dernière ligne (m=M) de l'image originale. Les poids wo(0,n) et wo(M+1 ,n) de tous les pixels p(O,n) et 25 p(M+1,n) de ces lignes d'encadrement sont par exemple fixés à la plus grande valeur (dans le cadre d'une érosion) que peuvent prendre les poids wo(m,n) des pixels p(m,n) de l'image originale, par exemple 255. Par ailleurs, les colonnes d'encadrement (n=0 et n=N+1) peuvent être insérées avant la première colonne (n=1) et après la dernière colonne (n=N+1) de l'image 30 intermédiaire. Les poids wie(m,O) et wie(m,N+1) de tous les pixels p(m,O) et p(m,n+1) sont par exemple fixés à la plus grande valeur que peuvent prendre les poids wie(m,n) des pixels p(m,n) de l'image intermédiaire, par exemple 255 Selon une autre forme de réalisation, les cas particuliers de la première et de 35 la dernière ligne (m=1 et m=M) et de la première et de la dernière colonne (n=1 et n=N) peuvent être traités en ne considérant pas les lignes et les colonnes situées en dehors de l'image originale et de l'image intermédiaire. En d'autres termes, les sous-éléments de l'élément structurant sont réduits au niveau des bords de l'image. Bien évidemment, les première et deuxième étapes de l'opération d'érosion peuvent être inversées, l'image intermédiaire étant alors obtenue par des minimums sur des colonnes au lieu de minimums sur des lignes. L'opération de dilatation peut être facilement obtenue en adaptant l'opération d'érosion, notamment en remplaçant les opérations de minimum io par des opérations de maximum. Les cas particuliers des première et dernière lignes et première et dernière colonnes peuvent alors être traités en fixant la valeur des poids concernés à la valeur nulle. Distance de Manhattan 15 Les figures 7 et 8 illustrent le principe de l'opération distance de Manhattan, également connue dans la littérature anglo-saxonne sous le terme de distance "city-block". Cette opération permet de déterminer la distance d'un objet de l'image par rapport à tout point de l'image. Pour cette opération, il est nécessaire de partir d'une image originale binarisée, c'est-à- 20 dire d'une image composée de pixels dont les poids ne peuvent prendre que deux valeurs, une première valeur correspondant à un état haut, par exemple '1', et une seconde valeur correspondant à un état bas, par exemple '0'. L'image originale binarisée peut être obtenue par seuillage. Les pixels de l'image originale binarisée correspondant à l'objet ont par exemple un poids 25 fixé à l'état haut, les autres pixels ayant un poids fixé à l'état bas. L'image obtenue par l'opération distance de Manhattan, appelée image distance, est une image dont le poids wd(m,n) de chaque pixel p(m,n) est égal à la distance de Manhattan entre le pixel p(m,n) considéré et le pixel p(x,y) le plus proche du pixel p(m,n) considéré appartenant à l'objet. La figure 7 30 illustre un exemple d'image originale binarisée et l'image distance correspondante. Par distance D de Manhattan entre deux pixels p(m,n) et p(x,y), on entend la somme de la différence, en valeur absolue, entre la ligne m du pixel p(m,n) et la ligne x du pixel p(x,y) et de la différence, en valeur absolue, entre la colonne n du pixel p(m,n) et la colonne y du pixel p(x,y), 35 selon la relation : D = lm û xi + In û yl (7) La figure 8 illustre le calcul du poids wd(2,3) du pixel p(2,3) de l'image distance. L'un des pixels les plus proches du pixel p(2,3) appartenant à l'objet est le pixel p(5,4). Le poids wd(2,3) du pixel p(2,3) peut ainsi être déterminé par la relation : wd(2,3) = D =12ù51+13ù41= 4. Il peut être noté que tout autre chemin entre l'objet et le pixel p(m,n) considéré conduirait à la même distance de Manhattan, et donc au même poids wd(m,n). i0 Selon l'invention, l'opération distance de Manhattan est, comme les autres opérations morphologiques selon l'invention, déterminée en deux étapes. Une première étape détermine une image intermédiaire à partir de l'image originale, en l'occurrence l'image originale binarisée et une seconde 15 étape détermine l'image distance à partir de l'image intermédiaire. Dans la première étape, un élément structurant en forme de 'L' renversé (figure 10) d'un quart de tour dans le sens trigonométrique et composé de trois pixels p(m,n-1), p(m,n) et p(m-1,n) est balayé successivement sur chaque ligne de l'image originale en partant du pixel p(1,1). Dans le cas où le pixel central 20 p(m,n) appartient à l'objet, le poids wid(m,n) de ce même pixel p(m,n) dans l'image intermédiaire est fixé à zéro. Dans le cas contraire, le poids wid(m,n) du pixel central p(m,n) de l'image intermédiaire est déterminé en comparant le poids Vi=wid(m,n-1) du pixel p(m,n-1) de l'image intermédiaire situé sur la même ligne (m) à la colonne précédente (n-1) au poids B1=wid(m-1,n) du 25 pixel p(m-1,n) de l'image intermédiaire situé à la ligne précédente (m-1) sur la même colonne (n). Le poids wid(m,n) du pixel central p(m,n) de l'image intermédiaire est alors égal au minimum des poids V, et B, incrémentés d'une unité, conformément à la relation : wid(m,n)=mie, +1,B, +1). (8) 30 Dans la seconde étape, un élément structurant, toujours en forme de 'L', (figure 12) mais renversé d'un quart de tour dans le sens anti- trigonométrique et composé de trois pixels p(m+1,n), p(m,n) et p(m,n+1) est balayé successivement sur chaque ligne de l'image intermédiaire en partant du pixel p(M,N). Le poids wd(m,n) du pixel central p(m,n) de l'image distance 35 est alors déterminé en comparant le poids r=wid(m,n) du pixel p(m,n) de l'image intermédiaire, le poids B2=wd(m+1,n) du pixel p(m+1,n) de l'image distance et le poids V2=wd(m,n+1) du pixel p(m,n+1) de l'image distance. Le poids wd(m,n) du pixel central p(m,n) de l'image distance est alors égal au minimum des poids r, B2+1 et V2+1, conformément à la relation : wd(m,n)= min(r,B2 +1, V2 +1). (9) Selon une forme particulière de réalisation, on vérifie également dans la seconde étape si le pixel central p(m,n) appartient à l'objet. Dans le cas où le pixel central p(m,n) appartient à l'objet, le poids wd(m,n) de ce même pixel p(m,n) dans l'image distance est fixé à zéro. Dans le cas contraire, le poids io wd(m,n) du pixel p(m,n) est déterminé par la relation 9. Cette forme particulière de réalisation permet de conformer la seconde étape à la première. La figure 9 illustre des sous-étapes de la première étape. Dans une première sous-étape, appelée étape d'initialisation 101, une ligne 15 d'initialisation (m=0) et une colonne d'initialisation (n=0) sont insérées, respectivement, avant la première ligne (m=1) et avant la première colonne (n=1) de l'image intermédiaire. Les poids wid(0,n) et wid(m,0) des pixels p(0,n) et p(m,0) de la ligne d'initialisation (m=0) et de la colonne d'initialisation (n=0) sont fixés par rapport à une valeur de référence Vréf et à 20 un nombre Nmax de pixels p(m,n), ce nombre Nmax correspondant à la distance maximale entre un pixel p(m,n) donné et un objet de l'image. Le nombre Nmax peut être déterminé par la relation suivante : Nmax = (N-1) + (M-1) La valeur de référence Vréf est déterminée afin d'être supérieure au nombre 25 Nmax. Elle correspond par exemple à la valeur maximale d'un registre. Dans le cadre d'images de résolution VGA, Vréf peut être fixé à la valeur 2048, soit un registre de 11 bits. Dans le cadre d'images de résolution dite "full HD", c'est-à-dire comprenant une matrice de 1920*1080 pixels, Vréf peut être fixé à 4096, soit un registre de 12 bits. 30 Les poids wid(0,n) et wid(m,0) peuvent être égaux à la valeur de référence Vréf moins le nombre Nmax, conformément aux relations : Vn E [1, Ni wid(0, n) = Vréf û Nmax (10a) Vm e [1, Ml wid(m,0) = Vréf û Nmax (10b) En considérant l'image originale de la figure 10 de taille 5x5 et en prenant comme valeur de référence Vréf la valeur hexadécimale FFFF, correspondant à un registre de 16 bits, ces relations deviennent : en e {1,51 wid(O, n) = FFFF û [(5 -1) + (5 -1)] = FFF7 Vm [1,51, wid(m,0) = FFFF û 8 = FFF7 Toujours dans l'étape d'initialisation 101, l'indice de ligne m et l'indice de colonne n sont initialisés à la valeur '1'. Dans une deuxième sous-étape 102, on vérifie si le pixel central p(m,n) appartient à l'objet, par exemple en vérifiant que son poids wo(m,n) dans l'image originale est égal à la valeur '1'. io Si tel est le cas, le poids wid(m,n) de ce pixel dans l'image intermédiaire est fixé à zéro dans une sous-étape 103 afin d'indiquer une distance nulle entre ce pixel et l'objet. Dans le cas contraire, le poids wid(m,n) du pixel central p(m,n) de l'image intermédiaire est fixé, dans une sous-étape 104, à la valeur minimale des poids VI et BI incrémentés d'une unité, conformément à la is relation 8. A l'issue de la sous-étape 103 ou de la sous-étape 104, on regarde, dans une sous-étape 105, si l'élément structurant est arrivé en bout de ligne. Cette condition est par exemple vérifiée lorsque l'indice n de colonne est égale au nombre N de colonnes. Si cette condition n'est pas vérifiée, l'indice n de colonne est incrémenté d'une unité dans une sixième 20 sous-étape 106. A la fin de cette sous-étape 106, une nouvelle itération est exécutée à partir de la deuxième sous-étape 102 afin de déterminer le poids wid(m,n+1) du pixel suivant p(m,n+1) de la ligne. En revanche, si l'élément structurant est arrivé en bout de ligne, on regarde, dans une sous-étape 107, si l'élément structurant est également arrivé en bout de colonne, autrement 25 dit si le pixel central p(m,n) correspond au dernier pixel p(M,N) de l'image. Si cette condition est vérifiée, il est mis fin à la première étape dans une sous-étape 108, l'image intermédiaire étant complètement déterminée. L'image intermédiaire ainsi obtenue est illustrée à la figure 10 (exemple avec un compteur à 16 bits). Si la condition de la sous-étape 107 n'est pas vérifiée, 30 l'indice m de ligne est incrémenté d'une unité et l'indice n de colonne est réinitialisé à la valeur '1' dans une sous-étape 109. A l'issue de cette sous-étape 109, une nouvelle itération est exécutée à partir de la deuxième sous-étape 102. La figure 11 illustre des sous-étapes de la seconde étape. Cette 35 seconde étape est par exemple exécutée à la suite de la sous-étape 108. Dans une première sous-étape, appelée étape d'initialisation 201, une ligne d'initialisation (m=M+1) et une colonne d'initialisation (n=N+1) sont insérées, respectivement, après la dernière ligne (m=M) et après la dernière colonne (n=N) de l'image distance. Les poids wd(M+1,n) et wd(m,N+1) des pixels p(M+1,n) et p(m,N+1) de la ligne d'initialisation (m=M+1) et de la colonne d'initialisation (n=N+1) sont fixés en fonction de la valeur de référence Vréf fixée lors de la première étape, conformément aux relations : Vn E [1,N1 wd(M+1,n) = Vréf -1 (11a) VmE[1,Mlwd(m,N+1)=Vréf -1 (11b) io En considérant l'image intermédiaire de la figure 10, reproduite à la figure 12, ces relations deviennent : Vn e [1,51 wd(M +1,n) = FFFF -1 = FFFE Vm e [1,51 wd(m, N +1) = FFFF -1 = FFFE Toujours dans l'étape d'initialisation 201, l'indice de ligne m est initialisé à la 15 valeur 'M' et l'indice de colonne n est initialisé à la valeur 'N'. Dans une deuxième sous-étape 202, le poids wd(m,n) du pixel central p(m,n) de l'image distance est fixé à la valeur minimale des poids r, B2+1 et V2+1, conformément à la relation 9. A l'issue de la sous-étape 202, on regarde, dans une sous-étape 203, si l'élément structurant est arrivé en bout de ligne. 20 Cette condition est par exemple vérifiée lorsque l'indice n de colonne est égal à la valeur '1'. Si cette condition n'est pas vérifiée, l'indice n de colonne est décrémenté d'une unité dans une sous-étape 204. A la fin de cette sous-étape 204, une nouvelle itération est exécutée à partir de la deuxième sous-étape 202 afin de déterminer le poids wd(m,n-1) du pixel suivant p(m,n-1) de 25 la ligne. En revanche, si l'élément structurant est arrivé en bout de ligne, on regarde, dans une sous-étape 205, si l'élément structurant est également arrivé en bout de colonne, autrement dit si le pixel central p(m,n) correspond au premier pixel p(1,1) de l'image. Si cette condition est vérifiée, il est mis fin à la seconde étape dans une sous-étape 206, l'image distance étant 30 complètement déterminée. L'image distance ainsi obtenue est illustrée à la figure 12. Si la condition de la sous-étape 205 n'est pas vérifiée, l'indice m de ligne est décrémenté d'une unité et l'indice n de colonne est réinitialisé à la valeur 'N' dans une sous-étape 207. A l'issue de cette sous-étape 207, une nouvelle itération est exécutée à partir de la deuxième sous-étape 202. 35 Projection La figure 13 illustre l'opération de projection. Cette opération permet de déterminer une nouvelle ligne (m=X) et une nouvelle colonne (n=Y) à partir d'une image originale, les poids wp(X,n) des pixels p(X,n) de la nouvelle ligne étant respectivement égaux à la somme des poids wo(m,n) de tous les pixels p(m,n) de la colonne correspondante de l'image originale, et les poids wp(m,Y) des pixels p(m,Y) de la nouvelle colonne étant respectivement égaux à la somme des poids wo(m,n) de tous les pixels p(m,n) de la ligne correspondante de l'image originale. Les poids wp(X,n) et to wp(m,Y) des pixels p(X,n) et p(m,Y) de la nouvelle ligne et de la nouvelle colonne peuvent être modélisés par les relations : M Vn e [1, N1 wp(X, n) = E wo(x,n) (12a) x=1 N `dm E [1,M1wp(m,Y)= wo(m,y) (12b) y=1 15 Description du module reconfigurable Bloc opérateur La figure 14 représente schématiquement un bloc opérateur d'un module reconfigurable selon l'invention. Le bloc opérateur comporte cinq entrées, repérées par les lettres A, B, C, D et E, et trois sorties, repérées SO, 20 S1 et S. Ces entrées/sorties permettent notamment de réaliser les opérations définies ci-dessus. Elles permettent également de réaliser des variantes de ces opérations ainsi que d'autres fonctions non décrites ici. Le bloc opérateur comporte également trois additionneurs/soustracteurs et quatre blocs logiques dont l'agencement permet de délivrer sur chaque sortie SO, S1 et S 25 un résultat d'une opération effectuée sur les entrées A, B, C, D et/ou E, le résultat dépendant du type d'opération effectué par les additionneurs/soustracteurs et des liaisons établies entre les entrées et les sorties des différents blocs logiques. Par souci de concision, les entrées A, B, C, D et E, les sorties SO, SI et S, ainsi que les entrées/sorties des 30 additionneurs/soustracteurs et des blocs logiques, sont confondues avec les données présentes sur ces entrées et ces sorties. Par bloc logique, on entend un circuit commandé possédant une ou plusieurs entrées et une ou plusieurs sorties, chaque sortie pouvant être en liaison avec l'une des entrées en fonction d'une commande appliquée au bloc logique, par exemple par un contrôleur général ou par une logique interne au bloc logique. Le terme bloc logique est entendu au sens large. Bien entendu, un bloc logique possédant plusieurs entrées et/ou sorties peut être réalisé par un ensemble de multiplexeurs et de portes logiques possédant chacun une ou plusieurs entrées et une ou plusieurs sorties. Selon l'invention, la première sortie SO du bloc opérateur peut délivrer soit le résultat de l'addition (A+B) de la première entrée A et de la deuxième entrée B du bloc opérateur, soit le résultat de la soustraction (A-B) de la deuxième io entrée B à la première entrée A du bloc opérateur, soit le minimum (min(A, B)) de la première entrée A et de la deuxième entrée B du bloc opérateur, soit le maximum (max(A, B)) de la première entrée A et de la deuxième entrée B du bloc opérateur. La deuxième sortie SI du bloc opérateur peut délivrer soit le résultat de l'addition (D+E) de la quatrième entrée D et de la 15 cinquième entrée E du bloc opérateur, soit le résultat de la soustraction (D-E) de la cinquième entrée E à la quatrième entrée D du bloc opérateur, soit le minimum (min(D, E)) de la quatrième entrée D et de la cinquième entrée E du bloc opérateur, soit le maximum (max(D, E)) de la quatrième entrée D et de la cinquième entrée E du bloc opérateur, soit le minimum (min(A, B, D)) 20 de la première entrée A, de la deuxième entrée B et de la quatrième entrée D du bloc opérateur, soit le maximum (max(A, B, D)) de la première entrée A, de la deuxième entrée B et de la quatrième entrée D du bloc opérateur. La troisième sortie S du bloc opérateur peut délivrer soit le résultat de l'addition (SO+C) de la première sortie SO et de la troisième entrée C du bloc 25 opérateur, soit le résultat de la soustraction (SO-C) de la troisième entrée C à la première sortie SO. Les différentes combinaisons de résultats sur les trois sorties SO, SI et S du bloc opérateur permettent de réaliser les cinq opérations morphologiques décrites précédemment avec un minimum de composants présents dans le 30 module reconfigurable. Par conséquent, il est possible d'économiser de la surface silicium, et donc de diminuer l'encombrement et le coût du module reconfigurable. En outre, à chaque coup d'horloge, un résultat peut être fourni, le module reconfigurable selon l'invention correspondant à une architecture dite pipeline. Le résultat peut être le poids d'un pixel d'une image 35 intermédiaire ou le poids d'un pixel d'une image intégrale, d'une image érodée, d'une image dilatée ou d'une image distance. Les opérations morphologiques peuvent ainsi être réalisées très rapidement. Les résultats pouvant être obtenus sur les sorties SO, SI et S du bloc opérateur résultent par exemple de l'agencement des additionneurs/ soustracteurs et des blocs logiques décrit ci-après. Selon cet agencement, la première entrée A et la deuxième entrée B du bloc opérateur sont respectivement reliées à une première et à une seconde entrée d'un premier additionneur/soustracteur addl et à une première et à une deuxième entrée to d'un premier bloc logique mux NB. Une sortie du premier additionneur/ soustracteur add 1 est reliée à une troisième entrée du premier bloc logique mux A/B. Une sortie de ce premier bloc logique mux A/B forme la première sortie SO du bloc opérateur. Toujours selon cet agencement, la quatrième entrée D du bloc opérateur est reliée à une première entrée d'un deuxième 15 additionneur/soustracteur add 2 et à une première entrée d'un deuxième bloc logique mux DIE. La cinquième entrée E du bloc opérateur est reliée à une première entrée d'un troisième bloc logique mux E/S. Une sortie de ce troisième bloc logique mux E/S est reliée à une seconde entrée d'un deuxième additionneur/soustracteur add 2 et à une deuxième entrée du 20 deuxième bloc logique mux D/E. Une sortie du deuxième additionneur/soustracteur add 2 est reliée à une troisième entrée du deuxième bloc logique mux DIE. Une sortie du deuxième bloc logique mux D/E forme la deuxième sortie S1 du bloc opérateur. Toujours selon cet agencement, la troisième entrée C du bloc opérateur et la sortie du premier 25 bloc logique mux A/B sont respectivement reliées à une première et à une deuxième entrée d'un quatrième bloc logique mux ABC. Une première et une seconde sortie de ce quatrième bloc logique mux ABC sont respectivement reliées à une première et à une seconde entrée d'un troisième additionneur/soustracteur add 3. Une sortie du troisième additionneur/ 30 soustracteur add 3 est reliée à une seconde entrée du troisième bloc logique mux E/S et forme la troisième sortie S du bloc opérateur. Selon une forme particulière de réalisation, la première sortie SO du bloc opérateur délivre le minimum (min(A, B)) ou le maximum (max(A, B)) 35 des première et deuxième entrées A et B du bloc opérateur en effectuant une soustraction (A-B) de la deuxième entrée B à la première entrée A du bloc opérateur et en étudiant le signe du résultat de la soustraction (A-B). Le signe du résultat de la soustraction est par exemple donné par le bit de signe du premier additionneur/soustracteur add 1. Pour le minimum (min(A, B)), si le résultat de la soustraction (A-B) est négatif, une liaison est établie entre la première entrée et la sortie du premier bloc logique mux A/B, et si le résultat de la soustraction (A-B) est positif, une liaison est établie entre la deuxième entrée et la sortie du premier bloc logique mux A/B. Pour le maximum (max(A, B)), si le résultat de la soustraction (A-B) est positif, une liaison est to établie entre la première entrée et la sortie du premier bloc logique mux A/B, et si le résultat de la soustraction (A-B) est négatif, une liaison est établie entre la deuxième entrée et la sortie du premier bloc logique mux A/B. Le même principe peut être appliqué au deuxième additionneur/soustracteur add 2 et au deuxième bloc logique mux D/E afin de déterminer le minimum 15 (min(D, E)) ou le maximum (max(D, E)) des quatrième et cinquième entrées D et E du bloc opérateur. Le signe du résultat de la soustraction (D-E) de la cinquième entrée E à la quatrième entrée D du bloc opérateur détermine la liaison devant être établie entre la sortie et la première ou la deuxième entrée du deuxième bloc logique mux D/E. 20 Module reconfigurable Selon une forme particulière de réalisation, représentée à la figure 15, le module reconfigurable comporte une première entrée I, une seconde entrée I_ch, une première sortie O, une deuxième sortie O_ch, un cinquième 25 bloc logique mux I permettant de gérer le flux de données entrant sur le bloc opérateur et un sixième bloc logique mux O permettant de gérer le flux de données sortant du bloc opérateur. En particulier, la première entrée I du module reconfigurable peut être reliée à une première entrée du cinquième bloc logique mux I et à une première entrée du sixième bloc logique mux O. 30 La deuxième entrée I_ch peut être reliée à une deuxième entrée du cinquième bloc logique mux I. Une première, une deuxième et une troisième sortie du cinquième bloc logique mux I peuvent être respectivement reliées à la première, à la deuxième et à la quatrième entrée A, B, D du bloc opérateur. Les première, deuxième et troisième sorties S0, S1, S du bloc 35 opérateur peuvent être respectivement reliées à une deuxième, à une troisième et à une quatrième entrée du sixième bloc logique mux O. Une sortie du bloc logique mux O forme la première sortie O du module reconfigurable et une quatrième sortie du bloc logique mux I forme la seconde sortie O_ch du module reconfigurable. Cette seconde sortie O_ch est apte à être reliée à l'entrée I_ch d'un deuxième module reconfigurable dans le cadre d'un montage en cascade. Autrement dit, le module reconfigurable selon l'invention peut être chaîné afin de réaliser des opérations morphologiques plus complexes, telles que des opérations d'érosion ou de dilatation par des éléments structurants de dimension lo supérieures à 3x3. Selon une forme particulière de réalisation, représentée à la figure 15, le module reconfigurable comporte une pile FIFO permettant de stocker temporairement des données et un septième bloc logique mux B permettant 15 de gérer le flux de données entrant sur la deuxième entrée B du bloc opérateur. Par pile FIFO, on entend une pile dont la première donnée entrante est la première sortie. La deuxième sortie du cinquième bloc logique mux I peut être reliée à une première entrée du bloc logique mux B. Une sortie de ce bloc logique mux B peut être reliée à la deuxième entrée B du 20 bloc opérateur. La première sortie SO du bloc opérateur peut être reliée à une entrée de la pile FIFO, une sortie de la pile FIFO pouvant être reliée à une deuxième entrée du septième bloc logique mux B et à une cinquième entrée du sixième bloc logique mux O. 25 Selon une forme particulière de réalisation, représentée à la figure 15, le module reconfigurable comporte des moyens pour réinjecter les données présentes sur les sorties SI et S du bloc opérateur en entrée du bloc opérateur. En particulier, ces moyens peuvent comporter un huitième bloc logique mux A, un neuvième bloc logique mux D et un dixième bloc 30 logique mux E. Les première et troisième sorties du cinquième bloc logique mux I peuvent être respectivement reliées à une première entrée du huitième bloc logique mux A et à une première entrée du neuvième bloc logique mux D. La troisième sortie S du bloc opérateur peut être reliée à une deuxième entrée du huitième bloc logique mux A, à une deuxième entrée du neuvième 35 bloc logique mux D et à la troisième entrée C du bloc opérateur. Les deuxième et troisième sorties S1, S du bloc opérateur peuvent être respectivement reliées à une première et à une deuxième entrée du dixième bloc logique mux E, une sortie de ce bloc logique mux E pouvant être reliée à la cinquième entrée E du bloc opérateur. Selon une forme particulière de réalisation, représentée à la figure 15, le module reconfigurable comprend un registre de données reg C et un onzième bloc logique mux C. La troisième sortie S du bloc opérateur et le registre de données reg C peuvent être respectivement reliés à une première io et à une deuxième entrée du bloc logique mux C. Une sortie de ce bloc logique mux C peut être reliée à la troisième entrée C du bloc opérateur. Cette forme particulière de réalisation permet de réaliser des opérations avec des données de valeur prédéterminée, par exemple "zéro" et "un". 15 Description du procédé de mise en oeuvre du module reconfigurable Le module reconfigurable décrit ci-dessus peut être mis en oeuvre afin de réaliser les opérations morphologiques également décrites ci-dessus. En particulier, le module reconfigurable peut déterminer, à partir d'une image 20 originale comprenant M lignes et N colonnes de pixels p(m,n), soit une image intégrale, soit une image érodée, soit une image dilatée, soit une image distance de Manhattan, soit une projection suivant les lignes et les colonnes de l'image originale, et ce, en fonction du type d'opération effectué par les additionneurs/soustracteurs add 1 à add 3 et des liaisons établies entre les 25 entrées et les sorties des différents blocs logiques. Intégration Selon une forme particulière de réalisation, la détermination de l'image intégrale comporte les étapes suivantes : 30 - définir une image intermédiaire de même dimension que l'image originale, à chaque pixel p(m,n) de l'image intermédiaire étant associé un poids wii(m,n), - initialiser les poids wii(1,n) des pixels p(1,n) de la première ligne (m=1) de l'image intermédiaire, 35 - réitérer les étapes suivantes pour n variant de 2 à N : o réitérer les étapes suivantes pour m variant de 2 à m : ^ additionner le poids wo(m,n) des pixels p(m,n) de l'image originale avec le poids wii(m-1,n) des pixels p(m-1,n) de l'image intermédiaire, ^ stocker les résultats des additions dans la pile FIFO, la pile FIFO étant de taille M-1, initialiser les poids wi(m,1) des pixels p(m,1) de la première colonne (n=1) de l'image intégrale, réitérer les étapes suivantes pour m variant de 2 à m : io o réitérer les étapes suivantes pour n variant de 2 à N : ^ additionner le poids wii(m,n) des pixels p(m,n) de l'image intermédiaire avec le poids wi(m,n-1) des pixels p(m,n-1) de l'image intégrale. Ces étapes sont particulièrement adaptées au module reconfigurable selon 15 l'invention. En particulier, l'étape d'addition du poids wo(m,n) des pixels p(m,n) de l'image originale avec le poids wii(m-1,n) des pixels p(m-1,n) de l'image intermédiaire peut être réalisée de la manière suivante. Les poids wo(m,n) sont injectés sur la première entrée I du module reconfigurable ; les cinquième et huitième blocs logiques mux I, mux A relient la première entrée 20 I du module reconfigurable à la première entrée A du bloc opérateur ; le septième bloc logique mux B relie la sortie de la pile FIFO à la deuxième entrée B du bloc opérateur. Ainsi, le bloc opérateur peut réaliser l'addition des poids wo(m,n) et wii(m-1,n). Le sixième bloc logique mux O relie la sortie SO du bloc opérateur à la sortie O du module reconfigurable afin de fournir 25 sur cette sortie O, à chaque coup d'horloge, un poids wii(m,n) d'un pixel p(m,n) de l'image intermédiaire. Par ailleurs, l'étape d'addition du poids wii(m,n) des pixels p(m,n) de l'image intermédiaire avec le poids wi(m,n-1) des pixels p(m,n-1) de l'image intégrale peut être réalisée de la manière suivante. Les poids wii(m,n) sont injectés sur 30 la première entrée I du module reconfigurable ; les cinquième et huitième blocs logiques mux I, mux A relient la première entrée I du module reconfigurable à la première entrée A du bloc opérateur. Le septième bloc logique mux B relie la sortie de la pile FIFO à la deuxième entrée B du bloc opérateur. Ainsi, le bloc opérateur peut réaliser l'addition des poids wii(m,n) 35 et wi(m,n-1), ces derniers provenant de la pile FIFO. Le sixième bloc logique mux O relie la sortie SO du bloc opérateur à la sortie O du module reconfigurable afin de fournir sur cette sortie O, à chaque coup d'horloge, un poids wi(m,n) d'un pixel p(m,n) de l'image intégrale. Les étapes précédentes nécessaires au calcul de l'image intégrale sont réalisées dans le bloc opérateur en additionnant la première entrée A et la deuxième entrée B du bloc opérateur avec l'additionneur add 1. Le résultat est routé sur la sortie SO via le premier bloc logique mux A/B. L'étape d'initialisation des poids wii(1,n) des pixels p(1 ,n) de la première ligne (m=1) de l'image intermédiaire peut être réalisée en fixant ces poids wii(1,n) io aux mêmes valeurs que les poids wo(1,n) des pixels p(1,n) de la première ligne (m=1) de l'image originale. De même, l'étape d'initialisation des poids wi(m,1) des pixels p(m,1) de la première colonne (n=1) de l'image intégrale peut être réalisée en fixant ces poids wi(m,1) aux mêmes valeurs que les poids wii(m,1) des pixels p(m,1) de la première colonne (n=1) de l'image 15 intermédiaire. Erosion - dilatation Selon une forme particulière de réalisation, la détermination de l'image érodée par un élément structurant de dimension 3x3 comporte les 20 étapes suivantes : - décomposer l'élément structurant en un premier sous-élément structurant de dimension 1x3 et en un second sous-élément structurant de dimension 3x1, - définir une image intermédiaire de même dimension que l'image 25 originale, à chaque pixel p(m,n) de l'image intermédiaire étant associé un poids wie(m,n), réitérer les étapes suivantes pour m variant de 1 à m : o réitérer les étapes suivantes pour n variant de 1 à N : ^ attribuer au poids wie(m,n) le minimum des poids 30 wo(x,y) des pixels p(x,y) appartenant au premier sous- élément structurant centré sur le pixel p(m,n) considéré, réitérer les étapes suivantes pour n variant de 1 à N : o réitérer les étapes suivantes pour m variant de 1 à m : ^ attribuer au poids we(m,n) le minimum des poids wie(x,y) des pixels p(x,y) appartenant au second sous- élément structurant centré sur le pixel p(m,n) considéré. Ces étapes peuvent être obtenues par le module reconfigurable en injectant les poids wo(x,y) ou wie(x,y) sur la première entrée I du module reconfigurable, le cinquième bloc logique mux I reliant successivement la première entrée I du module reconfigurable à la première entrée A du bloc opérateur via le huitième bloc logique mux A, à la deuxième entrée B du bloc opérateur via le septième bloc logique mux B et à la quatrième entrée D du io bloc opérateur via le neuvième bloc logique mux D. Le dixième bloc logique mux E relie la troisième sortie S à la cinquième entrée E du bloc opérateur. Le bloc opérateur peut ainsi déterminer le minimum des poids wo(x,y) ou wie(x,y) des pixels p(x,y) appartenant au premier ou au second sous-élément structurant centré sur le pixel p(m,n). Le sixième bloc logique mux O relie la 15 deuxième sortie SI du bloc opérateur à la première sortie O du module reconfigurable afin de fournir sur cette sortie O, à chaque coup d'horloge, soit le poids wie(m,n) des pixels p(m,n) de l'image intermédiaire, soit le poids we(m,n) des pixels p(m,n) de l'image érodée. L'attribution aux poids wie(m,n) et we(m,n), respectivement du 20 minimum des poids wo(x,y) des pixels p(x,y) appartenant au premier sous-élément structurant et du minimum des poids wie(x,y) des pixels p(x,y) appartenant au second sous-élément structurant peut comprendre les étapes suivantes : - soustraire la deuxième entrée (B) à la première entrée (A) du premier 25 additionneur/soustracteur add 1, - établir une liaison entre la première entrée (A) ou la deuxième entrée (B) et la sortie du premier bloc logique mux A/B en fonction du signe du résultat de la soustraction (A-B), - établir une liaison entre la deuxième entrée et la première sortie du 30 quatrième bloc logique mux ABC, - additionner ou soustraire la première entrée du troisième additionneur/soustracteur add 3 avec la valeur nulle, - établir une liaison entre la première entrée et la sortie du troisième bloc logique mux E/S, - soustraire la deuxième entrée (E=S=A ou E=S=B) à la première entrée (D) du deuxième additionneur/soustracteur add 2, - établir une liaison entre la première ou la deuxième entrée (D, E=S=A ou E=S=B) et la sortie du deuxième bloc logique mux D/E en fonction 5 du signe du résultat de la deuxième soustraction (D-E). Les étapes permettant de déterminer l'image dilatée par un élément structurant de dimension 3x3 peuvent être facilement déduites des étapes précédentes relatives à la détermination de l'image érodée, les 10 opérations de minimum étant simplement remplacées par des opérations de maximum. Le module reconfigurable selon l'invention permet également de déterminer rapidement une image érodée ou une image dilatée par un 15 élément structurant de dimension supérieure à 3x3, par exemple 5x5. En particulier, pour une érosion par un élément structurant de dimension 5x5, il faut faire la comparaison de 5 valeurs et garder le minimum de ces 5 valeurs. L'idée est de poursuivre le mode de pipeline réalisé par un module reconfigurable pour une érosion 3x3 en utilisant deux modules 20 reconfigurables et en répartissant les 5 valeurs sur les deux modules afin de pouvoir les comparer. La figure 16 illustre un exemple d'agencement de deux modules reconfigurables chaînés permettant d'obtenir une image érodée par un 25 élément structurant de dimension 5x5. La première sortie O, d'un premier module reconfigurable 10 est reliée à la première entrée 12 d'un deuxième module reconfigurable 20 et la deuxième sortie O_ch, du premier module reconfigurable 10 est reliée à la deuxième sortie O_ch2 du deuxième module reconfigurable 20. Les poids wo(x,y) ou wie(x,y) sont alors injectés sur la 30 première entrée I, du premier module reconfigurable 10, la deuxième entrée I_ch, du premier module reconfigurable 10 n'étant pas utilisée. Le minimum des poids wo(x,y) de trois pixels p(x,y) appartenant au premier sous-élément structurant ou le minimum des poids wie(x,y) de trois pixels appartenant au second sous-élément structurant peut alors être obtenu sur la première sortie 35 01 du premier module reconfigurable 10, les poids wo(x,y) ou wie(x,y) des deux autres pixels p(x,y) appartenant au sous-élément structurant considéré étant simplement transférés au deuxième module reconfigurable 20 via la sortie O_ch1 et la deuxième entrée I_ch2. Le minimum des poids wo(x,y) ou wie(x,y) des cinq pixels p(x,y) appartenant au sous-élément structurant considéré pouvant alors être obtenu sur la première sortie 02 du deuxième module reconfigurable 20. Bien entendu, le chaînage décrit ci-dessus permet également d'obtenir des images dilatées par un élément structurant de dimension 5x5. En outre, le module reconfigurable selon l'invention est particulièrement io adapté au chaînage de deux modules reconfigurables ou plus. Un tel chaînage permet d'utiliser des éléments structurants de plus grande dimension. Par exemple, un chaînage de trois modules reconfigurables permet d'utiliser des éléments structurants de dimension 7x7. 15 Distance Selon une forme particulière de réalisation, la détermination de l'image distance comporte les étapes suivantes : - définir une image intermédiaire de même dimension que l'image originale, à chaque pixel p(m,n) de l'image intermédiaire étant associé un 20 poids wid(m,n), - définir un premier élément structurant composé de trois pixels, un pixel central p(m,n), un pixel p(m,n-1) situé sur la même ligne que le pixel central p(m,n) à la colonne précédente et un pixel p(m-1,n) situé sur la même colonne que le pixel central p(m,n) à la ligne précédente, 25 réitérer les étapes suivantes pour m variant de 1 à m : o réitérer les étapes suivantes pour n variant de 1 à N : ^ déterminer si le pixel central p(m,n) appartient à l'objet, • si tel est le cas, attribuer au poids wid(m,n) la valeur nulle, le sixième bloc logique mux O reliant la première entrée I du module reconfigurable à la première sortie O du module reconfigurable, • si tel n'est pas le cas, attribuer au poids wid(m,n) le minimum des poids wid(m,n-1)=V1 et wid(m-1,n)=B1 incrémentés d'une unité, le sixième bloc logique mux O reliant la troisième sortie S du bloc 30 35 opérateur à la première sortie O du module reconfigurable, - définir un second élément structurant composé de trois pixels, un pixel central p(m,n), un pixel p(m+1,n) situé sur la même colonne que le pixel central p(m,n) à la ligne suivante et un pixel p(m,n+1) situé sur la même ligne que le pixel central à la colonne suivante, réitérer les étapes suivantes pour m variant de M à 1 : o réitérer les étapes suivantes pour n variant de N à 1 : ^ attribuer au poids wd(m,n) du pixel central p(m,n) le io minimum des poids wid(m,n)=r, wd(m+1,n)+1=B2+1 et wd(m,n+1)+1=V2+1. Les étapes pour m variant de 1 à m et pour n variant de 1 à N peuvent être obtenues par le module reconfigurable, notamment lorsque le septième bloc logique mux B relie la sortie de la pile FIFO à la deuxième entrée B du bloc 15 opérateur et le huitième bloc logique mux A relie la troisième sortie S du bloc opérateur à la première entrée A du bloc opérateur. Les étapes pour m variant de M à 1 et pour n variant de N à 1 peuvent être obtenues par le module reconfigurable, notamment lorsque les cinquième et neuvième blocs logiques mux I, mux D relient la première entrée I du module 20 reconfigurable à la quatrième entrée D du bloc opérateur, le sixième bloc logique mux O relie la deuxième sortie S1 du bloc opérateur à la première sortie O du module reconfigurable, le septième bloc logique mux B relie la sortie de la pile FIFO à la deuxième entrée B du bloc opérateur et le huitième bloc logique mux A relie la troisième sortie S du bloc opérateur à la première 25 entrée A du bloc opérateur. L'attribution au poids wid(m,n) du minimum des poids VI et BI incrémentés d'une unité peut comprendre les étapes suivantes : - soustraire la deuxième entrée B, recevant le poids BI, à la première entrée A, recevant le poids VI, du premier additionneur/soustracteur add 1, 30 - établir une liaison entre la première entrée, recevant le poids VI, ou la deuxième entrée, recevant le poids BI, et la sortie du premier bloc logique mux A/B en fonction du signe du résultat de la soustraction (VI-BI), - établir une liaison entre la deuxième entrée, recevant le poids BI ou VI, et la première sortie et entre la première entrée, reliée à l'entrée C, et la 35 deuxième sortie du quatrième bloc logique mux ABC, - additionner la première entrée du troisième additionneur/soustracteur add 3 avec la valeur "un", le onzième bloc logique mux C reliant le registre de données reg C à la troisième entrée C du bloc opérateur. Par ailleurs, l'attribution au poids wd(m,n) du minimum des poids r, 5 B2+1 et V2+1 peut comprendre les étapes suivantes : - soustraire la deuxième entrée, recevant le poids B2, à la première entrée, recevant le poids V2, du premier additionneur/soustracteur add 1, - établir une liaison entre la première entrée, recevant le poids V2, ou la deuxième entrée, recevant le poids B2, et la sortie du premier bloc logique io mux A/B en fonction du signe du résultat de la soustraction (V2-B2), - établir une liaison entre la deuxième entrée, recevant le poids B2 ou V2, et la première sortie et entre la première entrée, reliée à l'entrée C, et la deuxième sortie du quatrième bloc logique mux ABC, - additionner la première entrée du troisième additionneur/soustracteur 15 add 3 avec la valeur "un", le onzième bloc logique mux C reliant le registre de données reg C à la troisième entrée C du bloc opérateur, - établir une liaison entre la sortie du troisième additionneur/ soustracteur add 3 et la deuxième entrée du deuxième additionneur/ soustracteur add 2 via le troisième bloc logique mux E/S, 20 - soustraire la deuxième entrée, recevant le poids B2+1 ou V2+1, à la première entrée, recevant le poids r, du deuxième additionneur/soustracteur add 2, - établir une liaison entre la première entrée, recevant le poids r, ou la deuxième entrée, recevant le poids B2+1 ou V2+1, et la sortie du deuxième 25 bloc logique mux D/E en fonction du signe du résultat de la soustraction (r- (B2+1) ou r-(V2+1)). Projection Selon une forme particulière de réalisation, la détermination de la 30 nouvelle ligne (m=X) et de la nouvelle colonne (n=Y) de l'opération de projection, appelées respectivement ligne de projection et colonne de projection, comporte les étapes suivantes : - définir une ligne de projection comportant le même nombre N de colonnes que les lignes de l'image originale et une colonne de projection 35 comportant le même nombre M de lignes que les colonnes de l'image originale, à chaque pixel p(X,n) de la ligne de projection et à chaque pixel p(m,Y) de la colonne de projection étant associé respectivement un poids wp(X,n) et wp(m,Y), - réitérer les étapes suivantes pour m variant de 1 à m : o réitérer les étapes suivantes pour n variant de 1 à N : ^ additionner le poids wp(m,Y) des pixels p(m,Y) de la colonne de projection avec le poids wo(m,n) des pixels p(m,n) de l'image originale, ^ additionner le poids wp(X,n) des pixels p(X,n) de la io ligne de projection avec le poids wo(m,n) des pixels p(m,n) de l'image originale. L'étape d'addition du poids wp(m,Y) avec le poids wo(m,n) peut être obtenue par le module reconfigurable en injectant les poids wo(m,n) sur la première entrée I du module reconfigurable. Le cinquième bloc logique mux I peut is relier la première entrée I du module reconfigurable à la quatrième entrée D du bloc opérateur via le neuvième bloc logique mux D. Le dixième bloc logique mux E peut relier la deuxième sortie SI à la cinquième entrée E du bloc opérateur. Le bloc opérateur peut alors calculer la somme des poids wo(m,n) des pixels p(m,n) d'une ligne (m) à l'aide du deuxième additionneur/ 20 soustracteur add 2, le troisième bloc logique mux E/S reliant la cinquième entrée E du bloc opérateur à la seconde entrée du deuxième additionneur/ soustracteur add 2 et le deuxième bloc logique mux D/E reliant la sortie de cet additionneur/soustracteur add 2 à la deuxième sortie S1 du bloc opérateur. Lorsque n atteint le nombre N de colonnes de l'image originale, le 25 sixième bloc logique mux O peut relier la deuxième sortie S1 à la première sortie O du module reconfigurable pour permettre l'évacuation du résultat de la somme d'une ligne (m). L'étape d'addition du poids wp(X,n) avec le poids wo(m,n) peut être obtenue par le module reconfigurable en injectant les poids wo(m,n) sur la première 30 entrée I du module reconfigurable. Le cinquième bloc logique mux I peut relier la première entrée I du module reconfigurable à la première entrée A du bloc opérateur via le huitième bloc logique mux A. Le septième bloc logique mux B peut relier la sortie de la pile FIFO à la deuxième entrée B du bloc opérateur. Le bloc opérateur peut alors calculer la somme des poids 35 wo(m,n) des pixels p(m,n) d'une colonne (n) à l'aide du premier additionneur/soustracteur add 1, les résultats des additions des poids wp(X,n) et wo(m,n) étant stockés dans la pile FIFO et le premier bloc logique mux A/B reliant la sortie du premier additionneur/soustracteur add 1 à la première sortie SO du bloc opérateur. Lorsque m atteint le nombre M de lignes de l'image originale, la pile FIFO contient les résultats des sommes des colonnes. La pile FIFO peut alors être vidée par l'intermédiaire du sixième bloc logique mux O, ce dernier reliant la sortie de la pile FIFO à la première sortie 0 du module reconfigurable. REVENDICATIONS1. Module reconfigurable, caractérisé en ce qu'il comporte un bloc opérateur comprenant cinq entrées (A, B, C, D, E) et trois sorties (SO, S1, S), la première sortie (SO) du bloc opérateur étant apte à délivrer soit le résultat de l'addition (A+B) de la première et de la deuxième entrée (A, B) du bloc opérateur, soit le résultat de la soustraction (A-B) de la deuxième entrée (B) à la première entrée (A) du bloc opérateur, soit le minimum (min(A, B)) de la première et de la deuxième entrée (A, B) du bloc opérateur, soit le maximum (max(A, B)) de la première et de la deuxième entrée (A, B) ~o du bloc opérateur, la deuxième sortie (Si) du bloc opérateur étant apte à délivrer soit le résultat de l'addition (D+E) de la quatrième et de la cinquième entrée (D, E) du bloc opérateur, soit le résultat de la soustraction (D-E) de la cinquième entrée (E) à la quatrième entrée (D) du bloc opérateur, soit le minimum 15 (min(D, E)) de la quatrième et de la cinquième entrée (D, E) du bloc opérateur, soit le maximum (max(D, E)) de la quatrième et de la cinquième entrée (D, E) du bloc opérateur, soit le minimum (min(A, B, D)) de la première, de la deuxième et de la quatrième entrée (A, B, D) du bloc opérateur, soit le maximum (max(A, B, D)) de la première, de la deuxième et 20 de la quatrième entrée (A, B, D) du bloc opérateur, la troisième sortie (S) du bloc opérateur étant apte à délivrer soit le résultat de l'addition (SO+C) de la première sortie (SO) et de la troisième entrée (C) du bloc opérateur, soit le résultat de la soustraction (SO-C) de la troisième entrée (C) à la première sortie (SO) du bloc opérateur. 25 2. Module reconfigurable selon la revendication 1, caractérisé en ce que le bloc opérateur comprend trois additionneurs/soustracteurs et quatre blocs logiques, la première et la deuxième entrée (A, B) du bloc opérateur étant respectivement reliées à une première et à une seconde 30 entrée d'un premier additionneur/soustracteur (add 1) et à une première et à une deuxième entrée d'un premier bloc logique (mux A/B), une sortie du premier additionneur/soustracteur (add 1) étant reliée à une troisième entrée du premier bloc logique (mux A/B), une sortie du premier bloc logique (mux A/B) formant la première sortie (SO) du bloc opérateur,la quatrième entrée (D) du bloc opérateur étant reliée à une première entrée d'un deuxième additionneur/ soustracteur (add 2) et à une première entrée d'un deuxième bloc logique (mux DIE), la cinquième entrée (E) du bloc opérateur étant reliée à une première entrée d'un troisième bloc logique (mux E/S), une sortie du troisième bloc logique (mux E/S) étant reliée à une seconde entrée du deuxième additionneur/soustracteur (add 2) et à une deuxième entrée du deuxième bloc logique (mux DIE), une sortie du deuxième additionneur/soustracteur (add 2) étant reliée à une troisième entrée du deuxième bloc logique (mux D/E), une sortie du deuxième bloc io logique (mux DIE) formant la deuxième sortie (SI) du bloc opérateur, la troisième entrée (C) du bloc opérateur et la sortie du premier bloc logique (mux A/B) étant respectivement reliées à une première et à une deuxième entrée d'un quatrième bloc logique (mux ABC), une première et une seconde sortie du quatrième bloc logique (mux ABC) étant is respectivement reliées à une première et à une seconde entrée d'un troisième additionneur/soustracteur (add 3), une sortie du troisième additionneur/soustracteur (add 3) étant reliée à une seconde entrée du troisième bloc logique (mux E/S) et formant la troisième sortie (S) du bloc opérateur. 20 3. Module reconfigurable selon la revendication 2, caractérisé en ce qu'il comporte des moyens pour que la sortie (SO) du premier bloc logique (mux A/B) et la sortie (Si) du deuxième bloc logique (mux DIE) puissent être déterminées, respectivement, en fonction du signe de la soustraction (A-B) 25 de la deuxième entrée (B) à la première entrée (A) du premier additionneur/ soustracteur (add 1) et en fonction du signe de la soustraction (D-E ou D-S) de la deuxième entrée (E ou S) à la première entrée (D) du deuxième additionneur/soustracteur (add 2). 30 4. Module reconfigurable selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte deux entrées (I, I_ch), deux sorties (O, O_ch), un cinquième bloc logique (mux I) et un sixième bloc logique (mux O), la première entrée (I) du module reconfigurable étant reliée à une première entrée du cinquième bloc logique 35 (mux I) et à une première entrée du sixième bloc logique (mux O), ladeuxième entrée (I_ch) du module reconfigurable étant reliée à une deuxième entrée du cinquième bloc logique (mux I), une première, une deuxième et une troisième sortie du cinquième bloc logique (mux I) étant respectivement reliées à la première, à la deuxième et à la quatrième entrée (A, B, D) du bloc opérateur, les première, deuxième et troisième sorties (SO, S1, S) du bloc opérateur étant respectivement reliées à une deuxième, à une troisième et à une quatrième entrée du sixième bloc logique (mux O), une sortie du sixième bloc logique (mux O) formant la première sortie (0) du module reconfigurable et une quatrième sortie du cinquième bloc logique to (mux I) formant la seconde sortie (O_ch) du module reconfigurable, cette seconde sortie (O_ch) étant apte à être reliée à la seconde entrée (I_ch) d'un deuxième module reconfigurable selon la présente revendication. 5. Module reconfigurable selon la revendication 4, caractérisé en is ce qu'il comporte une pile FIFO et un septième bloc logique (mux B), la deuxième sortie du cinquième bloc logique (mux I) étant reliée à une première entrée du septième bloc logique (mux B), une sortie du septième bloc logique (mux B) étant reliée à la deuxième entrée (B) du bloc opérateur, la première sortie (SO) du bloc opérateur étant reliée à une entrée de la pile 20 FIFO, une sortie de la pile FIFO étant reliée à une deuxième entrée du septième bloc logique (mux B) et à une cinquième entrée du sixième bloc logique (mux O). 6. Module reconfigurable selon l'une quelconque des 25 revendications 4 ou 5, caractérisé en ce qu'il comprend un huitième, un neuvième et un dixième bloc logique (mux A, mux D, mux E), les première et troisième sorties du cinquième bloc logique (mux I) étant respectivement reliées à une première entrée du huitième bloc logique (mux A) et à une première entrée du neuvième bloc logique (mux D), la troisième sortie (S) du 30 bloc opérateur étant reliée à une deuxième entrée du huitième bloc logique (mux A), à une deuxième entrée du neuvième bloc logique (mux D) et à la troisième entrée (C) du bloc opérateur, les deuxième et troisième sorties (Si, S) du bloc opérateur étant respectivement reliées à une première et à une deuxième entrée du dixième bloc logique (mux E), une sortie du dixième bloc 35 logique (mux E) étant reliée à la cinquième entrée (E) du bloc opérateur. 7. Module reconfigurable selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend un registre de données (reg C) et un onzième bloc logique (mux C), la troisième sortie (S) du bloc opérateur et le registre de données (reg C) étant respectivement reliés à une première et à une deuxième entrée du onzième bloc logique (mux C), une sortie du onzième bloc logique (mux C) étant reliée à la troisième entrée (C) du bloc opérateur. io 8. Procédé de mise en oeuvre d'un module reconfigurable selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape consistant à déterminer, à partir d'une image originale comprenant M lignes et N colonnes de pixels p(m,n), M et N étant des entiers positifs, 15 - soit une image intégrale, - soit une image érodée, soit une image dilatée, - soit une image distance de Manhattan, - soit une projection suivant les lignes et une projection suivant les 20 colonnes de l'image originale, en fonction du type d'opération d'additionneurs/soustracteurs appartenant au bloc opérateur et de liaisons établies entre des entrées et des sorties de blocs logiques appartenant au bloc opérateur, l'image intégrale, l'image érodée, l'image dilatée et l'image distance de Manhattan ayant la même 25 dimension que l'image originale. 9. Procédé selon la revendication 8 mettant en oeuvre un module reconfigurable selon les revendications 1 et 4 à 6, caractérisé en ce que, à chaque pixel p(m,n) de l'image originale est associé un poids wo(m,n) et à 30 chaque pixel p(m,n) de l'image intégrale est associé un poids wi(m,n), la détermination de l'image intégrale comportant les étapes suivantes : - définir une image intermédiaire de même dimension que l'image originale, à chaque pixel p(m,n) de l'image intermédiaire étant associé un poids wii(m,n),- initialiser les poids wii(1,n) des pixels p(1,n) de la première ligne (m=1) de l'image intermédiaire, réitérer les étapes suivantes pour n variant de 2 à N : o réitérer les étapes suivantes pour m variant de 2 à m, les s poids wo(m,n) étant injectés sur la première entrée (I) du module reconfigurable, les cinquième et huitième blocs logiques (mux I, mux A) reliant la première entrée (I) du module reconfigurable à la première entrée (A) du bloc opérateur, le bloc opérateur réalisant une addition des poids wo(m,n) et io wii(m-1,n), le sixième bloc logique (mux O) reliant la première sortie (SO) du bloc opérateur à la première sortie (0) du module reconfigurable, le septième bloc logique (mux B) reliant la sortie de la pile FIFO à la deuxième entrée (B) du bloc opérateur : ^ additionner le poids wo(m,n) des pixels p(m,n) de 15 l'image originale avec le poids wii(m-1,n) des pixels p(m- 1,n) de l'image intermédiaire, ^ stocker les résultats des additions dans la pile FIFO, la pile FIFO étant de taille M-1, initialiser les poids wi(m,1) des pixels p(m,1) de la première colonne 20 (n=1) de l'image intégrale, - réitérer les étapes suivantes pour m variant de 2 à m : o réitérer les étapes suivantes pour n variant de 2 à N, les poids wii(m,n) étant injectés sur la première entrée (I) du module reconfigurable, les cinquième et huitième blocs logiques (mux I, 25 mux A) reliant la première entrée (I) du module reconfigurable à la première entrée (A) du bloc opérateur, le bloc opérateur réalisant l'addition des poids wii(m,n) et wi(m,n-1), le sixième bloc logique (mux O) reliant la première sortie (SO) du bloc opérateur à la première sortie (0) du module reconfigurable, le septième bloc 30 logique (mux B) reliant la sortie de la pile FIFO à la deuxième entrée B du bloc opérateur : ^ additionner le poids wii(m,n) des pixels p(m,n) de l'image intermédiaire avec le poids wi(m,n-1) des pixels p(m,n-1) de l'image intégrale.^ stocker les résultats des additions dans la pile FIFO, la pile FIFO étant de taille N-1. 10. Procédé selon l'une quelconque des revendications 8 ou 9 mettant en oeuvre un module reconfigurable selon les revendications 1 et 4 à 6, caractérisé en ce que, à chaque pixel p(m,n) de l'image originale est associé un poids wo(m,n) et à chaque pixel p(m,n) de l'image érodée est associé un poids we(m,n), la détermination de l'image érodée par un élément structurant de dimension 3x3 comportant les étapes suivantes : io - décomposer l'élément structurant en un premier sous-élément structurant de dimension 1x3 et en un second sous-élément structurant de dimension 3x1, - définir une image intermédiaire de même dimension que l'image originale, à chaque pixel p(m,n) de l'image intermédiaire étant associé un is poids wie(m,n), - réitérer les étapes suivantes pour m variant de 1 à m : o réitérer les étapes suivantes pour n variant de 1 à N : • attribuer au poids wie(m,n) le minimum des poids wo(x,y) des pixels p(x,y) appartenant au premier sous-20 élément structurant centré sur le pixel p(m,n) considéré, réitérer les étapes suivantes pour n variant de 1 à N : o réitérer les étapes suivantes pour m variant de 1 à m : ^ attribuer au poids we(m,n) le minimum des poids wie(x,y) des pixels p(x,y) appartenant au second sous- 25 élément structurant centré sur le pixel p(m,n) considéré, les poids wo(x,y) ou wie(x,y) étant injectés sur la première entrée (I) du module reconfigurable, le cinquième bloc logique (mux I) reliant successivement la première entrée (I) du module reconfigurable à la première entrée (A) du bloc opérateur via le huitième bloc logique (mux A), à 30 la deuxième entrée (B) du bloc opérateur via le septième bloc logique (mux B), et à la quatrième entrée (D) du bloc opérateur via le neuvième bloc logique (mux D), le dixième bloc logique (mux E) reliant la troisième sortie (S) à la cinquième entrée (E) du bloc opérateur, le bloc opérateur déterminant le minimum des poids wo(x,y) ou wie(x,y) des pixels p(x,y) appartenant au 35 premier ou au second sous-élément structurant centré sur le pixel p(m,n), lesixième bloc logique (mux O) reliant la deuxième sortie (SI) du bloc opérateur à la première sortie (0) du module reconfigurable. 11. Procédé selon la revendication 10 mettant en oeuvre un module reconfigurable selon les revendications 1 à 6, caractérisé en ce que l'attribution au poids wie(m,n) ou we(m,n) du minimum des poids wo(x,y) ou wie(x,y) des pixels p(x,y) appartenant au premier ou au second sous-élément structurant comprend les étapes suivantes : - soustraire la deuxième entrée (B) à la première entrée (A) du premier io additionneur/soustracteur (add 1), - établir une liaison entre la première ou la deuxième entrée (A, B) et la sortie du premier bloc logique (mux A/B) en fonction du signe du résultat de la soustraction (A-B), - établir une liaison entre la deuxième entrée et la première sortie du 15 quatrième bloc logique (mux ABC), - additionner ou soustraire la première entrée du troisième additionneur/soustracteur (add 3) avec la valeur nulle, - établir une liaison entre la première entrée et la sortie du troisième bloc logique (mux E/S), 20 - soustraire la deuxième entrée (E=S=A ou E=S=B) à la première entrée (D) du deuxième additionneur/soustracteur (add 2), - établir une liaison entre la première ou la deuxième entrée (D, E=S=A ou E=S=B) et la sortie du deuxième bloc logique (mux DIE) en fonction du signe du résultat de la deuxième soustraction (D-E). 25 12. Procédé selon l'une quelconque des revendications 8 à 11 mettant en oeuvre un module reconfigurable selon les revendications 1 et 4 à 6, caractérisé en ce que, à chaque pixel p(m,n) de l'image originale est associé un poids wo(m,n) et à chaque pixel p(m,n) de l'image dilatée est 30 associé un poids wf(m,n), la détermination de l'image dilatée par un élément structurant de dimension 3x3 comportant les étapes suivantes : - décomposer l'élément structurant en un premier sous-élément structurant de dimension 1x3 et en un second sous-élément structurant de dimension 3x1,- définir une image intermédiaire de même dimension que l'image originale, à chaque pixel p(m,n) de l'image intermédiaire étant associé un poids wif(m,n), - réitérer les étapes suivantes pour m variant de 1 à m : o réitérer les étapes suivantes pour n variant de 1 à N : ^ attribuer au poids wif(m,n) le maximum des poids wo(x,y) des pixels p(x,y) appartenant au premier sous- élément structurant centré sur le pixel p(m,n) considéré, - réitérer les étapes suivantes pour n variant de 1 à N : o réitérer les étapes suivantes pour m variant de 1 à m : ^ attribuer au poids wf(m,n) le maximum des poids wif(x,y) des pixels p(x,y) appartenant au second sous- élément structurant centré sur le pixel p(m,n) considéré, les poids wo(x,y) ou wie(x,y) étant injectés sur la première entrée (I) du module reconfigurable, le cinquième bloc logique (mux I) reliant successivement la première entrée (I) du module reconfigurable à la première entrée (A) du bloc opérateur via le huitième bloc logique (mux A), à la deuxième entrée (B) du bloc opérateur via le septième bloc logique (mux B), et à la quatrième entrée (D) du bloc opérateur via le neuvième bloc logique (mux D), le dixième bloc logique (mux E) reliant la troisième sortie (S) à la cinquième entrée (E) du bloc opérateur, le bloc opérateur déterminant le maximum des poids wo(x,y) ou wif(x,y) des pixels p(x,y) appartenant au premier ou au second sous-élément structurant centré sur le pixel p(m,n), le sixième bloc logique (mux O) reliant la deuxième sortie (Si) du bloc opérateur à la première sortie (0) du module reconfigurable. 13. Procédé selon la revendication 12 mettant en oeuvre un module reconfigurable selon les revendications 1 à 6, caractérisé en ce que l'attribution au poids wif(m,n) ou wf(m,n) du maximum des poids wo(x,y) ou wif(x,y) des pixels p(x,y) appartenant au premier ou au second sous-élément structurant comprend les étapes suivantes : - soustraire la deuxième entrée (B) à la première entrée (A) du premier additionneur/soustracteur (add 1),- établir une liaison entre la première ou la deuxième entrée (A, B) et la sortie du premier bloc logique (mux A/B) en fonction du signe du résultat de la soustraction (A-B), - établir une liaison entre la deuxième entrée et la première sortie du 5 quatrième bloc logique (mux ABC), - additionner ou soustraire la première entrée du troisième additionneur/soustracteur (add 3) avec la valeur nulle, - établir une liaison entre la première entrée et la sortie du troisième bloc logique (mux E/S), to - soustraire la deuxième entrée (E=S=A ou E=S=B) à la première entrée (D) du deuxième additionneur/soustracteur (add 2), - établir une liaison entre la première ou la deuxième entrée (D, E=S=A ou E=S=B) et la sortie du deuxième bloc logique (mux DIE) en fonction du signe du résultat de la deuxième soustraction (D-E). 15 14. Procédé selon l'une quelconque des revendications 8 à 13 mettant en oeuvre un module reconfigurable selon les revendications 1 et 4 à 6, caractérisé en ce que, à chaque pixel p(m,n) de l'image originale est associé un poids wo(m,n) et à chaque pixel p(m,n) de l'image distance est 20 associé un poids wd(m,n), le poids wo(m,n) pouvant prendre deux valeurs, une première valeur (1) indiquant que le pixel p(m,n) considéré appartient à un objet, une seconde valeur (0) indiquant que ledit pixel p(m,n) n'appartient pas à l'objet, la détermination de l'image distance comportant les étapes suivantes : 25 - définir une image intermédiaire de mêmes dimension que l'image originale, à chaque pixel p(m,n) de l'image intermédiaire étant associé un poids wid(m,n), - définir un premier élément structurant composé de trois pixels, un pixel central p(m,n), un pixel p(m,n-1) situé sur la même ligne que le pixel 30 central p(m,n) à la colonne précédente et un pixel p(m-1,n) situé sur la même colonne que le pixel central p(m,n) à la ligne précédente, - réitérer les étapes suivantes pour m variant de 1 à m : o réitérer les étapes suivantes pour n variant de 1 à N, le septième bloc logique (mux B) reliant la sortie de la pile FIFO à la 35 deuxième entrée (B) du bloc opérateur, le huitième bloc logique 10(mux A) reliant la troisième sortie (S) à la première entrée (A) du bloc opérateur : ^ déterminer si le pixel central p(m,n) appartient à l'objet, • si tel est le cas, attribuer au poids wid(m,n) la valeur nulle, le sixième bloc logique (mux O) reliant la première entrée (I) du module reconfigurable à la première sortie (0) du module reconfigurable, • si tel n'est pas le cas, attribuer au poids wid(m,n) le minimum des poids wid(m,n-1) (VI) et wid(m-1,n) (BI) incrémentés d'une unité, le sixième bloc logique (mux O) reliant la troisième sortie (S) du bloc opérateur à la première sortie (0) du module reconfigurable, définir un second élément structurant composé de trois pixels, un 15 pixel central p(m,n), un pixel p(m+1,n) situé sur la même colonne que le pixel central p(m,n) à la ligne suivante et un pixel p(m,n+1) situé sur la même ligne que le pixel central à la colonne suivante, réitérer les étapes suivantes pour m variant de M à 1 : o réitérer les étapes suivantes pour n variant de N à 1, les 20 cinquième et neuvième blocs logiques (mux I, mux D) reliant la première entrée (I) du module reconfigurable à la quatrième entrée (D) du bloc opérateur, le sixième bloc logique (mux O) reliant la deuxième sortie (SI) du bloc opérateur à la première sortie (0) du module reconfigurable, le septième bloc logique (mux 25 B) reliant la sortie de la pile FIFO à la deuxième entrée (B) du bloc opérateur, le huitième bloc logique (mux A) reliant la troisième sortie (S) à la première entrée (A) du bloc opérateur : ^ attribuer au poids wd(m,n) du pixel central p(m,n) le minimum des poids wid(m,n) (r), wd(m+1,n)+1 (B2+1) et 30 wd(m,n+1)+1 (V2+1). 15. Procédé selon la revendication 14 mettant en oeuvre un module reconfigurable selon les revendications 1 à 7, caractérisé en ce que l'attribution au poids wid(m,n) du minimum des poids wid(m,n-1) (V,) et 35 wid(m-1 ,n) (BI) incrémentés d'une unité comprend les étapes suivantes :- soustraire la deuxième entrée (B=B1) à la première entrée (A=V1) du premier additionneur/soustracteur (add 1), - établir une liaison entre la première ou la deuxième entrée (A, B) et la sortie du premier bloc logique (mux NB) en fonction du signe du résultat 5 de la soustraction (A-B), - établir une liaison entre la deuxième entrée (A ou B) et la première sortie et entre la première entrée (C) et la deuxième sortie du quatrième bloc logique (mux ABC), - additionner la première entrée du troisième additionneur/soustracteur ~o (add 3) avec la valeur "un", le onzième bloc logique (mux C) reliant le registre de données (reg C) à la troisième entrée (C) du bloc opérateur. 16. Procédé selon l'une quelconque des revendications 14 ou 15 mettant en oeuvre un module reconfigurable selon les revendications 1 à 7, 15 caractérisé en ce que l'attribution au poids wd(m,n) du minimum des poids wid(m,n) (r), wd(m+1,n)+1 (B2+1) et wd(m,n+1)+1 (V2+1) comprend les étapes suivantes : - soustraire la deuxième entrée (B=B2) à la première entrée (A=V2) du premier additionneur/soustracteur (add 1), 20 - établir une liaison entre la première ou la deuxième entrée (A, B) et la sortie du premier bloc logique (mux A/B) en fonction du signe du résultat de la soustraction (A-B), - établir une liaison entre la deuxième entrée (A ou B) et la première sortie et entre la première entrée (C) et la deuxième sortie du quatrième bloc 25 logique (mux ABC), - additionner la première entrée du troisième additionneur/soustracteur (add 3) avec la valeur "un", le onzième bloc logique (mux C) reliant le registre de données (reg C) à la troisième entrée (C) du bloc opérateur, - établir une liaison entre la sortie du troisième additionneur/ 30 soustracteur (add 3) et la deuxième entrée du deuxième additionneur/ soustracteur (add 2) via le troisième bloc logique (mux E/S), - soustraire la deuxième entrée (B2+1 ou V2+1) à la première entrée (D=r) du deuxième additionneur/soustracteur (add 2),- établir une liaison entre la première ou la deuxième entrée (r, B2+1 ou V2+1) et la sortie du deuxième bloc logique (mux DIE) en fonction du signe du résultat de la soustraction (r-(B2+1 ou r-(V2+1)). 17. Procédé selon l'une quelconque des revendications 8 à 16 mettant en oeuvre un module reconfigurable selon la revendication 1, caractérisé en ce que, à chaque pixel p(m,n) de l'image originale est associé un poids wo(m,n), la détermination des projections suivant les lignes et suivant les colonnes de l'image originale comportant les étapes suivantes : io - définir une ligne de projection comportant le même nombre N de colonnes que les lignes de l'image originale et une colonne de projection comportant le même nombre M de lignes que les colonnes de l'image originale, à chaque pixel p(X,n) de la ligne de projection et à chaque pixel p(m,Y) de la colonne de projection étant associé respectivement un poids 15 wp(X,n) et wp(m,Y), - réitérer les étapes suivantes pour m variant de 1 à m : o réitérer les étapes suivantes pour n variant de 1 à N : ^ additionner le poids wp(m,Y) des pixels p(m,Y) de la colonne de projection avec le poids wo(m,n) des pixels 20 p(m,n) de l'image originale, ^ additionner le poids wp(X,n) des pixels p(X,n) de la ligne de projection avec le poids wo(m,n) des pixels p(m,n) de l'image originale.