2012-10-09 1 views
0

J'ai entrepris un projet d'analyse automatique d'images prises à partir d'un microscope d'un type spécifique de microfractures. Le problème est que la caméra utilisée était sur un réglage "auto" et donc les micro fractures (qui ressemblent à des piqûres d'épingles) sont une variété de nuances d'une photo à l'autre. L'arrière-plan est également à différents niveaux de saturation et il y a quelques éléments (qui apparaissent très lumineux sur les photos) qui ressemblent à des fractures mais sont quelque chose de différent que je dois négliger.Techniques pour l'analyse d'images d'images en niveaux de gris

Quelqu'un pourrait-il recommander une technique que je pourrais étudier pour m'aider à résoudre ce problème?

+2

Montrez les images s'il vous plaît. – Maurits

+0

Salut, je n'ai pas la permission de publier les images, j'ai peur. Mais ils sont en fond gris, en fond gris avec des spécifications gris clair (environ 2px à travers - c'est ce que j'ai besoin de compter/mesurer), il y a aussi des spécifications blanches qui (comme l'arrière-plan) doivent être ignorées. –

+3

Si vous ne pouvez pas poster, nous ne pouvons pas vous aider. Essayez de poster quelque chose d'artificiel qui ne compromet pas votre propriété intellectuelle, c'est-à-dire similaire à vos données –

Répondre

0

C'est une situation tout à fait normale dans la reconnaissance d'image - différentes conditions d'éclairage, différentes orientations d'objets, différentes échelles, différentes résolutions d'image. Des méthodes ont été développées pour extraire des caractéristiques utiles de ces images. Je ne suis pas un expert dans ce domaine, mais je soupçonne que tout livre général sur le sujet contient au moins une brève revue de la normalisation de l'image et des méthodes d'extraction de caractéristiques.

0

Si les micro-fractures sont des transitions de bord tranchant, une combinaison de techniques simples peut vous permettre de trouver des régions connectées de points de bord forts correspondant à ces fractures. Si les fractures apparaissent également sombres, vous devriez être capable de les distinguer des traits brillants ressemblant à une fracture.

En bref:

  1. Generate une carte de bord
  2. (si nécessaire) Supprimer les pixels de bord correspondant à des caractéristiques lumineuses.
  3. Sélectionnez une force de bord qui sépare les fractures de l'arrière-plan
  4. Nettoyer l'image carte du bord
  5. Trouver régions connectées à l'image de carte de bord

Si vous voulez trouver des caractéristiques minces avec des bords forts dans un arrière-plan, une étape pourrait être de générer une carte de bord (ou une image de bord) dans laquelle chaque pixel représente la force du bord local. Un pixel gris moyen entouré d'autres pixels gris moyen aurait une force de bord relativement faible, tandis qu'un pixel noir entouré de pixels gris clair aurait une force de bord relativement élevée. Diverses techniques de recherche de bord incluent Sobel, Prewitt, Canny, Laplacian, et Laplacian de Gaussian (LoG); Je ne vais pas les décrire ici puisque Wikipédia a des entrées sur eux si vous ne les connaissez pas. Une fois que vous avez une carte de périphérie, vous pouvez utiliser un seuil binaire pour convertir la carte de périphérie en pixels noir et blanc. Si vous avez la preuve que les fractures ont une force de contour de 20, alors vous utiliserez la valeur 20 comme seuil de binarisation sur l'image. La binarisation vous laissera alors avec une carte de bord noir et blanc avec des pixels blancs pour les bords forts, et des pixels noirs pour l'arrière-plan. Une fois que vous avez la carte de bord binarisée, vous devrez peut-être effectuer une opération de «fermeture» morphologique pour vous assurer que les pixels blancs qui peuvent être proches les uns des autres deviennent partie de la même région connectée. Une fois que vous avez effectué une fermeture sur la carte des bords binarisés, vous pouvez rechercher des composants connectés (que l'on peut appeler «contours» ou «blobs»). Pour la plupart des applications, il est préférable d'identifier les régions 4-connectées dans lesquelles un pixel est considéré comme connecté aux pixels en haut, à gauche, en bas et à droite, mais pas à ses voisins en haut à gauche et autres coins.Si les entités sont généralement des lignes à un seul pixel ou des fissures sinueuses, et s'il n'y a pas beaucoup de bruit, vous pourrez peut-être vous en sortir en identifiant les régions à 8 connexions. Une fois que vous avez identifié des régions connectées, vous pouvez filtrer en fonction de la zone, de la longueur de l'axe le plus long et/ou d'autres paramètres.

Si les fonctions sombres et lumineuses peuvent avoir des bords forts et si vous souhaitez éliminer les fonctions lumineuses, il existe plusieurs façons de les éliminer. Dans l'image d'origine, vous pouvez découper l'image en réglant toutes les valeurs sur une luminosité seuil à cette luminosité. Si les entités que vous souhaitez conserver sont plus foncées que la valeur de gris médiane de l'image, vous pouvez ignorer tous les pixels plus lumineux que la valeur de gris médiane. Si l'intensité de l'arrière-plan varie considérablement, vous pouvez calculer une médiane pour une région locale.

Une fois que nous verrons vos images, je suis sûr que vous aurez plus de suggestions. Si le problème que vous essayez de résoudre s'avère être similaire à celui sur lequel j'ai travaillé, qui consistait à trouver des fissures dans des surfaces très texturées, alors je peux être plus précis sur les algorithmes à essayer.