comment superposer des photos ????

comment superposer des photos ???? - Divers - Programmation

Marsh Posté le 02-05-2006 à 16:44:49    

Bonjour à tous  :hello: ,
 
Je dois superposer des clichés numériques du ciel pour visualiser un maximum de détails de chaque étoile présente sur ces photos.
 
J'ai déjà les coordonnées de 3points caractéristiques de chaque photo (3 mêmes étoiles)
 
Je dois donc superposer les photos en faisant joindre les trois points de chaque cliché. Les étoiles n'étant pas à la même position, il me faut donc faire pivoter le cliché avant de la superposer à un autre.
 
Je dois construire moi même l'algorithme, je ne cherche donc pas un logiciel mais des idées et/ou des tutoriels qui me donneront les notions de mathématiques dont j'ai besoin pour répondre à ce problème.
 
Merci à tous...  :jap:

Reply

Marsh Posté le 02-05-2006 à 16:44:49   

Reply

Marsh Posté le 04-05-2006 à 09:16:44    

j'aurais vraiment besion d'un moins un petit coup de main...

Reply

Marsh Posté le 04-05-2006 à 10:28:00    

mimi31110 a écrit :

j'aurais vraiment besion d'un moins un petit coup de main...


 
Tu cherches à faire juste un algo, ou tu dois développer un programme ?
Pour le deuxième cas, tu as choisis un langage ?
 
Pour la logique globale, je pense qu'il faut acceder au code couleur RGB de chaque pixel de ta premiere photo et le mixer (faire une moyenne de tes valeurs par exemple) avec un autre pixel coorespondant sur ta deuxieme photo.
 
Pour les notions mathématiques, je pense qu'il te faut utiliser les notions de repères et des vecteurs :
 
Tes trois points fixes sur les deux photos représentent un repere commun (s'ils ne sont pas alignés):
Nommons les 3 points de l'image 1: A, B et C, de coordonnées respectives Ax Ay, Bx By et Cx Cy (coordonnées des pixels)  
Pareil pour l'image 2: D(Dx,Dy), E(Ex,Ey) et F(Fx,Fy)
A sur l'image 1 correspondant à D sur l'image 2 et de meme pour B et E ainsi que C et F.
De plus, O1 sera le premier pixel de ton image 1, en (1,1) ou (0,0)  en haut à gauche de ton image
De meme O2 pour l'image 2.
 
Chaque pixel de ton image 1 peut etre reperé à l'aide du repère mis en place :
Point M1 (Mx1,My1) quelconque de l'image 1:
vecteur O1M1= vecteur O1A + vecteur AM1
et tu peux décomposer : vecteur AM1 = alpha * vecteur AB + betha * vecteur BC
tu dois pouvoir résoudre ces equations pour trouver alpha et betha si tu as toutes les coordonnées Ax Ay Bx By Cx Cy.
 
pour trouver le pixel correcpondant sur l'image 2, il faut appliquer la meme logique :
 
vecteur O2M2 = vecteur O2D + alpha * vecteur DE + betha * vecteur DF
 
sauf que la tu as calculé les coeff. alpha et betha et tu peux donc trouver les coordonnées du pixel M2 correspondant à M1.
 
Ne pas oublier d'arrondir tes calculs à l'entier le plus proche parcequ'on parle ici de coordonnées de pixel, donc un cadrillage par petits carré.
 
De plus attention aux points de l'image 2 correspondant à des points de l'image 1 qui sortent des bornes de l'image.
 
Voilà j'espere que c'est le genre de piste que tu rechechais.


Message édité par PepMat le 04-05-2006 à 10:51:39
Reply

Marsh Posté le 04-05-2006 à 10:40:56    

Merci PepMat
 
c'est un projet que je dois faire sous WinDev9 donc le langage est celui du logiciel...
 
je m'y attelle rapidement...
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed