Le but de ce projet est de recréer automatiquement des photos couleurs à partir des négatifs de la collection Prokudin-Gorskii. Pour ce faire, il faut extraire les trois canaux des négatifs et les superposés correctement aux autres.
L'approche à une seule échelle consiste en une recherche exhaustive sur une fenêtre de déplacement. Il s'agit donc de minimiser une fonction de coût qui dépend de la différence entre les deux images.
Dans le cas présent, la fonction de coût qui a été minimisé correspond à la "somme des différences au carré". Cette mesure pose cependant l'hypothèse que l'image est similaires dans tous les domaines.
Pour renforcer les résultats, l'image est filtré à l'aide d'un filtre correspondant au Laplacien d'une gaussienne. La fonction de similitude tente donc de trouver l'image où les arrêtes sont similaires.
Rouge: 13, -2
Vert: 4, -1
Rouge: 12, 0
Vert: 6, 0
Rouge: 13, 0
Vert: 6, 0
Rouge: 13, -2
Vert: 1, -1
Rouge: 7, -2
Vert: 2, -1
Rouge: 11, -1
Vert: 3, 0
Rouge: 6, 4
Vert: 2, 3
Rouge: 5, 1
Vert: 2, 1
Rouge: 10, -3
Vert: 3, -1
Rouge: 14, 3
Vert: 5, 2
Rouge: 11, -1
Vert: 2, -1
Rouge: 11, -1
Vert: 3, 0
Rouge: 5, 2
Vert: 1, 1
Rouge: 10, 0
Vert: 1, 0
Dans le cas où les images sont en haute résolution, la méthode précédente n'est pas une méthode réaliste. En effet, la recherche exhaustive peut être effectuée dans un temps raisonnable pour une fenêtre de 15 pixels, mais pas pour une fenêtre de 100 pixels.
Pour pouvoir effectuer la recherche dans un temps raisonnable, la solution consiste à faire une recherche à échelle multiple. Lorsque l'on détecte que la résolution de l'image est trop grosse, on redimentionne l'image par un facteur 0.5. On rappelle ensuite la fonction récursivement. On recentre ensuite l'image à l'aide de la translation trouvé précédement puis on effectue une recherche sur une fenêtre plus petite pour trouver les ajustements supplémentaires.
Rouge: 91, 33
Vert: 40, 16
Rouge: 126, 33
Vert: 57, 25
Rouge: -55, 4
Vert: -26, 1
Rouge: 109, 59
Vert: 48, 39
Rouge: 52, 39
Vert: 35, 25
Rouge: 74, 34
Vert: 24, 21
Rouge: 120, 15
Vert: 40, 10
Rouge: 96, 0
Vert: 12, -4
Rouge: 50, 15
Vert: 15, 6
Rouge: 44, 4
Vert: 16, -2
Rouge: 87, 32
Vert: 41, 3
Rouge: 105, 62
Vert: 47, 37
Rouge: 12, 17
Vert: -16, 9
Rouge: 124, -5
Vert: 53, -5
Cette section présente le même algorithme que dans les sections précédentes mais sur des photos personelles. Pour produire des clichés semblablent à ceux des sections précédentes, trois photos ont été prise rapidement avec le même appareil. Il est à noté que bien que les couleurs soient meilleures que celles des sections précédente, l'alignement n'est pas parfait. Celà est probablement dû à de petite rotation. En effet, celles-ci ne sont pas corrigées lorsque l'on utilise cette technique.
Rouge: 11, 12
Vert: 0, 16
Rouge: -4, -18
Vert: -15, 14
L'algorithme utilisé pour l'égalisation des couleurs est l'égalisation d'histogramme. Cependant, comme celui-ci n'est pas défini pour les images couleurs, celui-ci a été appliqué de deux façon différentes.
La première façon consiste à effectuer l'algorithme sur chaque canal de couleur indépendament. La deuxième méthode consiste à appliquer cet algorithme sur les trois canaux simultanément.
On peut voir qu'aucune des deux méthodes ne peut être considéré absolue meilleure que l'autre méthode. En effet, certaines images sont plus belles lorsque l'on utilise la première méthode et d'autres sont plus belles lorsque l'on utilise la deuxième méthode. Dans tous les cas, cette méthode peut produire des artéfacts supplémentaires dans les images.
Un exemple de retrait des bordures automatiques est présenté ici. Pour pouvoir détecter les bordures, on calcul la somme des valeurs absolue des différences entre les différentes images pour toutes les lignes et toutes les colonnes. On trouve ensuite le point de transition où l'erreur dépasse un certain seuil. Le seuil choisi correspond à la somme entre la moyenne de l'erreur pour le reste de l'image et l'écart type de l'erreur.