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