Matt Morrill

Project 1: Colorizing Images of the Russian Empire

Project Background:

Ahead of his time, Sergei Mikhailovich Prokudin-Gorskii had the idea to take 3 photographs of the same scene with different color filters placed in front of the lens. This would allow the images to later be reconstructed in color when projected. For our project, we were charged with the task of taking scans of these slides, aligning them, and creating full color images.

Process:

The images that we were given looked like this:

I divided the image in the 3 equal parts based on the height of the original image and attempt to find an offset to shift the red (bottom) and green (middle) channels by so that they align with the blue (top). I do this pairwise, aligning green to blue, and then red to blue. To do each pairwise alignment, I first recursively subsample the images down to half the original size. When I hit a set minimum size, I compute edge detection image for both images by convolving them with a sobel filter convolved with its transpose (as described in the Matlab help page for conv2). I then find the sum of squared differences between each pixel in the two edge detection images. I shift the second edge detection image around within a finite range, and for each shift, I compute the same sum of squared differences. I return the alignment that provides the minimum of such sums to the level above it. On the way back up, I take the closest alignment at the lower level and multiply that shift by 2 (because the image is now twice as large) and complete the same process as above. At the top level, we have a shift that aligns the full size images. Now we shift our original, full size images and combine them in their proper color channels to get our full color image like this!

You can see the full results on all the images here