• Aucun résultat trouvé

Traitement et analyse des images

3.3 L’instabilité capillaire : un écoulement élongationnel et une sonde

4.1.3 Traitement et analyse des images

Une fois la série d’images enregistrée il faut en extraire l’évolution du rayon minimum du filament. Cette étape, qui doit être répétée pour un grand nombre de séries et d’images (plusieurs centaines à milliers par série) est automatisée à l’aide

du logiciel ImageJ7 ([131]).

Cette analyse passe avant tout par la définition d’un critère associé à la position de l’interface sur l’image. Dans le cas d’une image contrastée, avec un histogramme d’intensité bimodale et un bruit négligable il est possible d’utiliser un seuil global. L’image résultante a deux valeurs et deux régions bien définies. L’interface corres- pond au passage d’une valeur à l’autre. La résolution spatiale est au mieux d’un pixel.

Lors de la rupture capillaire le filament occupe une surface d’aire de plus en plus faible sur l’image. De plus, la différence de l’intensité des pixels le représentant avec ceux du fond diminue avec sa taille (et donc au cours du temps), et ceci d’autant plus que la différence d’indice entre les milieux est faible. La méthode de seuil global s’avére être inefficace lors du détachement au sein d’un liquide d’immersion en raison du mauvais contraste de l’interface, alors que d’autres régions de l’image sont bien contrastées.

Pour suivre toute l’évolution du filament il est nécessaire d’utiliser une méthode plus élaborée. L’idée sous-jacente consiste à déterminer un seuil plus local tout en mettant à profit l’information sur l’intensité des pixels environnants. Pour cela le contour de l’interface est associé à un maximum d’une fonction du gradient d’intensité. Le choix de ces maxima est fait en utilisant les propriétés statistiques de chaque ligne de l’image (perpendiculairement à l’axe du filament). Cela permet d’extraire le régime final de la rupture mais aussi d’augmenter la résolution spatiale en interpolant la position des maxima.

Les différentes étapes

Le traitement des images est résumé sur la figure 4.4.

Le calcul d’une dérivée à partir de grandeurs discrètes (l’intensité et la position des pixels) est très sensible au bruit. Il faut passer par une étape de mise en forme préalable. Chaque image est divisée par une image du fond (enregistrée sur 16 bits avant chaque rupture) et normalisée (les pixels non modifiés valent 1). Cette division a lieu après conversion en 32 bits. Les pixels délimitant la mosaïque de 16 capteurs ont leur intensité (souvent très différente de celle des pixels environnants) remplacée par la moyenne de celle des 2 pixels adjacents horizontaux. Un filtre due à la colle ou au silicone semble donc négligeable pour le détachement.

7C’est un programme initialement développé pour l’analyse d’images médicales, qui permet

l’enregistrement de macro et dont les commandes peuvent être augmentées grâce à des modules complémentaires écrits en Java

Division par le fond

et

corrections inter-capteurs

Filtre médian pour le bruit

Contour Sobel

Position (interpolée)

de l'interface

Détection du

minimum du col

m

S

1

Fig. 4.4 – Les étapes pour obtenir le rayon minimum sur chaque image.

médian de rayon 2 est ensuite appliqué à l’image : la valeur de l’intensité de chaque pixel est remplacée par la valeur médiane des intensités du carré centré de neuf pixels dont il est le centre. Ce filtre permet d’éliminer le bruit à petite échelle (particulièrement celui de type « poivre et sel » , c’est-à-dire les pixels isolés d’intensité très différente de celle des voisins). L’intensité de l’image résultante est plus lisse et les extrema de gradients atténués, mais leur position n’est pas modifiée. Un filtre Sobel est appliqué pour extraire les contours. La valeur de chaque pixel est remplacée par la norme du gradient discret. C’est un opérateur 3 x 3 où les dérivées sont estimées au deuxième ordre (poids des pixels selon une direction [−1 0 1]) avec un lissage triangulaire ([1 2 1]) selon la direction perpendiculaire.

Les deux positions de l’interface sont déterminées de la manière suivante pour chaque ligne perpendiculaire à l’axe du filament. On calcule la moyenne m et l’écart-type σ des intensités. Cela permet de définir un seuil de détection des maxima, en général :

s1 = m + 3σ (4.3)

Un balayage des valeurs des pixels en partant de l’extrémité de la ligne de gauche

à droite (resp. de froite à gauche) permet de relever la position xg et la valeur Ig

du maximum le plus à gauche (resp. xd et Id pour le plus à droite). Afin de ne

retenir que le premier maximum significatif rencontré (qui peut être un maximum relatif), le balayage s’arrête lorsque l’intensité du pixel en cours est inférieure à la

valeur du dernier maximum repéré moins σ, soit s2 = Ig/d− σ, ou bien inférieure

à s1.

Les positions des deux maxima sont alors déterminées à un pixel près. Si on assimile ces deux pics à des gaussiennes on peut interpoler les positions à l’aide des valeurs des deux paires de pixels voisins pour obtenir une résolution en deçà du pixel. Il suffit pour cela de prendre le logarithme naturel des intensités des pixels et de faire un ajustement par une parabole. Le système d’équations des coefficients est linéaire, et sa résolution donne accès à la position interpolée (sans

avoir à minimiser une fonction χ2) [132]. Cette étape a été ajoutée pour tenter

de réduire l’effet des valeurs discrètes du diamètre (position des pixels) lors des calculs de la viscosité (voir la section 4.1.4) .

Ces calculs étant réalisé pour chaque ligne de l’image, on obtient ensuite le profil du diamètre h[y] de l’interface en fonction de la position le long de l’axe du filament. Le rayon minimum et sa position sont à leur tour déterminés. La recherche du minimum s’effectue par un balayage similaire à celui des lignes. Il n’y a en revanche pas d’interpolation supplémentaire car pour les solutions de polymères le rayon du filament est pratiquement uniforme : cela nécessite un schéma plus complexe d’interpolation (nombre variable de points requis) dont le gain en précision est annulé par la dynamique limitée des images enregistrées seulement sur 256 niveaux de gris.

On obtient finalement la courbe d’évolution du rayon minimum en pixels au cours du temps. La valeur en mètres est déterminée grâce à l’image du capillaire

de diamètre connu.