Well, this is embarrassing. There should be an image here. Great picture, too!
Colorizing 1900s Russia

Brief Overview

The project is "Images of the Russian Empire: Colorizing the Prokudin-Gorskii photo collection". This has been a very fun project as I have learned about the manipulation of image files (which, with libraries, can be manipulated as arrays of arrays in Python). It is interesting, too, to see the power of the computer in aligning the images.

My approach was entirely the one described on the course website. There were points that were open, however. Here were my choices:

  • The programming language is Python 2.
  • The alignment algorithm is normalized cross-correlation (NCC).
  • The pyramid is generated using skimage.transform.pyramid_gaussian, which outputs a generator. I immediately process the generator into a Python list.
  • I implemented the pyramid version of the code recursively, by breaking up the offset value generation into its own (recursive) function.

I am extremely impressed by the efficiency gains by using the pyramid approach. Here is an image of the notes I wrote to help me conceptualize the effect of an offset of 2 pixels on an image whose width and height has been halved twice.

Results of my Algorithm

Example Images

These are the example images for the project as listed here.

Images from the Prokudin-Gorskii Collection