Project 1: Colourising Prokudin-Gorskii Photos
Serious question, the RGB channels are all the same dimension. Why exactly can't we stack them on top of each other?
Yikes okay, I stand corrected. It's time to align, using the blue filter as the base. Below are several functions I defined for more modular code.
The main idea here is that we are holding the blue channel still while moving the red and green channels around until we find a displacement that "matches". We define that arbitrary term as having the highest NCC value between the two channels. Once we have our optimal displacements, we shift them accordingly!
Finally, here are some results for the small images!
For larger images, I scaled the image down and then scaled the optimal shift upwards.
What's going on here is that we can't use our normal algorithm for large images. Those images are heckin large, we need to shift the filters without an idea of where to search. That's what pyramid searching is for: we shrink the image, and the optimal displacement for that layer should tell us a relative idea of where the larger image filter displacements might be!