15-463 Project 1 (did)

Overview

Given glass negatives which contain the green, red, and blue light intesities for an image separately, we can overlay them to create an RGB image. However, the layers may not align exactly, so we must computationally determine a proper alignment.

To accomplish this, I used SSD to measure how well two images align. I loop over a range of possible alignments and use the alignment that yields the smallest SSD. Afterwards, I crop out the edges of the image, which have awkward looking borders.

Result Images

.jpg

00106v.jpg 00757v.jpg 00888v.jpg 00889v.jpg 00907v.jpg 00911v.jpg 01031v.jpg 01657v.jpg 01880v.jpg

.tif

00029u.tif
00087u.tif
00128u.tif
00458u.tif
00737u.tif
00822u.tif
00892u.tif
(The above photo failed to align properly; this is probably because of the logs in the water; some were cut off, which led the program to shift to the next log over.)
01043u.tif
01047u.tif

downloaded

00026v.jpg 00136v.jpg 00253v.jpg 00998v.jpg

Cropping

I was considering using SSD divided by the square of the number of pixels (potentially playing around with this heuristic) as a measurement of the value of the current image is, and then finding the amount of cropping to minimize this value. However, I decided my code was already taking too long, so I decided to crop 6% off each of the borders to remove the color inconsistency.