2010-07-22 12 views
6

J'ai deux images de plaques de levure:je besoin d'aide pour compenser le déplacement des images lors d'une tentative de créer une grille avec une image et l'appliquer sur une autre

permissives:

alt text

Xgal :

alt text

les images doivent être à au même endroit et à peu près la même taille . J'essaie d'utiliser une des images pour générer une grille et ensuite appliquer cette grille à l'autre image. La grille est faite en regardant les colonies sur une plaque permissive, la plaque devrait avoir 1536 colonies sur elle. Le problème est que la caméra utilisée pour prendre les images bouge un peu de haut en bas et les images peuvent également être légèrement décalées en raison du fait que l'autre plaque ne se trouve pas exactement au même endroit.

Cela signifie donc que lorsque j'utilise la plaque permissive pour générer la grille sur la plaque xgal, la grille se décale. Est-ce que quelqu'un sait une façon dont je peux compenser cela? J'utilise perl avec le module gd. Tout avis serait grandement apprécié. Merci

+0

Existe-t-il une sorte de marqueur visuel sur les diapositives qui vous permettrait de les faire correspondre? – friedo

+0

Si vous disposez d'un outil d'enregistrement d'images, vous pourrez peut-être trouver les points correspondants sur les deux diapositives et les utiliser pour définir une transformation qui représenterait le comportement de décalage. Il semble que les quatre coins intérieurs de votre plaque de levure sont visibles sur les deux images, il est donc possible de les utiliser. – estanford

+1

Liens d'image brisés. Je recommande imgur.com pour télécharger des fichiers. (Hey c'est pas du spam c'est juste une recommandation) –

Répondre

1

Je l'ai fait dans d'autres langues en relation avec l'analyse de mouvement. Vous pouvez déterminer mathématiquement le décalage de position entre deux images en utilisant la corrélation croisée. Heureusement, vous n'avez peut-être pas besoin de faire les maths :) Vous pouvez utiliser quelque chose comme ImageMagick, qui fournit beaucoup de fonctions de traitement d'image pour vous, et qui est scriptable par Perl. Des scripts indépendants existent déjà pour des tâches très similaires aux vôtres - see.

+0

Merci Tim Je n'ai pas pensé à utiliser ImageMagick de cette façon. – Alos

1

Si vous avez seulement quelques paires d'images et, comme dans les exemples, ils sont très différents en apparence alors une méthode alternative à Tim Barrass' serait

  1. Ouvrir la première image dans gimp, trouver les coordonnées d'une caractéristique historique
  2. Ouvrir la seconde image dans gimp, trouver les coordonnées du même point de repère
  3. Calculer le décalage
  4. Maj la deuxième image en utilisant la commande convert de ImageMagick avec le affine optio n. Définissez les paramètres sx = sy = 1.0, rx = ry = 0.0, tx = décalage horizontal négatif, ty = décalage vertical négatif