CS 194-26 Project 1 - Images of the Russian Empire
By Jennifer Thakar
Overview
The goal of this project was to take negatives from the Library of Congress
collection of Prokudin-Gorskii color photographs, align the three channels, and
overlay them into a color image.
Process
I build an image pyramid for each negative, dividing the width by 2 until it
is less than 100 pixels. At each level, I use the sum of squared differences
between the blue channel and each of the green and red channels at each of 25
offsets with both x and y between -2 and 2.
Once the best match is found at that level, I double the image size and the
offset and repeat until I eventually find the offsets for the original image
When calculating the SSD, I ignore a border equal to 8% of the width.
Click any thumbnail to open the album of full size images.
Provided Images
nativity
Alignment: b(1, 0); g(0, -3); r(1, -7)
cathedral
Alignment: b(3, 0); g(1, -5); r(0, -12)
settlers
Alignment: b(0, 0); g(0, -7); r(1, -15)
monastery
Alignment: b(3, 0); g(1, 3); r(1, -3)
train
Alignment: b(62, 0); g(56, -42); r(30, -87)
harvesters
Alignment: b(31, 0); g(14, -60); r(18, -124)
emir
Alignment: b(62, 0); g(38, -49); r(6, -103)
three_generations
Alignment: b(15, 0); g(1, -53); r(4, -112)
village
Alignment: b(31, 0); g(19, -65); r(9, -138)
lady
Alignment: b(15, 0); g(7, -56); r(4, -116)
turkmen
Alignment: b(31, 0); g(10, -56); r(3, -116)
self_portrait
Alignment: b(39, 0); g(10, -79); r(2, -176)
icon
Alignment: b(31, 0); g(14, -41); r(8, -90)
Additional Images
bridge
Alignment: b(0, 0); g(18, -27); r(37, -77)
canoe
Alignment: b(0, 0); g(6, -13); r(12, -133)
stained_glass
Alignment: b(62, 0); g(46, -19); r(44, -59)
tower
Alignment: b(15, 0); g(9, -28); r(3, -104)