Programming Project #1: Images of the Russian Empire

Emilie Gao

Overview

Background: This project is based on the Prokudin-Gorskii photo collection, a photo collection taken by Sergei Mikhailovich Prokudin-Gorskii who realized that he could make colorized images by stacking 3 separate images with different filters (red, blue, and green). Unfortunately, he did not get to see his colored images come together, but for this project we did just that!

Simple Algorithm: For the smaller images, I was able to use a nested for loop in order to stack 2 images on top of the other at a time (first red on blue, then green on blue). In order to do this, for both x and y axes, I used a range from [-15, 15] and rolled the image by that amount. Then I calculated the minimum SSD that the set of images would produce. Then, we would stack all 3 images together. Furthermore, for the SSD, sometimes since we would roll the image and some of the borders would be off, I decedided to crop .1 of the image in the calculate SSD function.

Image Pyramid Implementation: For the larger images, using this original algorithm would take way too long. Therefore, I decided to use Image Pyramid. For this, I scaled the image down to 1/16 of its size, then calculated the optimal overlap. Then, I would rescale it to 1/8, then 1/4, then 1/2, until finally I reached the original image size. From here, With each scale-up, I would then scan in the vicinity of the coarse [x, y] optimal value.

Small Images

Cathedral: R[12, 3] G[5, 2]

Cathedral

Monastery: R[3, 2] G[-3, 2]

Monastery

Nativity: R[7, 0] G[3, 1]

Nativity

Settlers: R[15, -1] G[7, 0]

Settlers

Large Images

Emir: R[103, 57] G[49, 24]

Emir

Harvesters: R[124, 13] G[59, 16]

Harvesters

Icon: R[90, 23] G[41, 17]

Icon

Lady: R[116, 11] G[56, 8]

Lady

SelfPortrait: R[124, 30] G[79, 29]

I believe this image failed to align because of the different exposures in the 3 images provided, which threw off the calculation of the SSD.

SelfPortrait

ThreeGenerations: R[112, 11] G[53, 14]

ThreeGenerations

Train: R[87, 32] G[42, 6]

Train

Turkmen: R[116, 28] G[56, 21]

Turkmen

Village: R[124, -20] G[65, 12]

Simarly to the self portait, I believe this image failed to align because of the different exposures in the 3 images provided, which threw off the calculation of the SSD.

Village

Additional Images

Winter(jpg): R[9, 3] G[1, 2]

Winter

Waterfront(tif): R[-11, 20] G[3, 19]

Winter

Doorway(jpg): R[11, -1] G[5, -1]

Winter