15-463 Project 1 Dylan Koenig djkoenig

Overview

For this project, we were assigned to take images from the Prokudin-Gorskii collection and align their 3 separate RGB pictures into 1 complete photo. By using the sum of squared differences as well as an "image pyramid" method, I was able to calculate the displacement between the R G and B images and then realign and recreate the photograph.

Problems I ran into dealt with achieving the perfect alignment of the 3 channels, as well as the speed/performance of my code. I fixed these problems by cropping the images during the SSD calculations in order to focus on particular details. By doing this, my program has to deal with a smaller data set, thus speeding up the process as well as becoming more accurate.

All images below were generated using my multicase, image pyramid implementation unless otherwise noted.



Image 01880v.jpg

Image 01880v
Green Offset:(6,2) Red Offset: (14,4)



Image 01657v.jpg

Image 01657v
Green Offset: (5,1) Red Offset: (12,1)



Image 01500.jpg

Image 01500u: .tif file
This is a bonus image!
Green Offset: (51,23) Red Offset: (119,31)



Image 01055u.jpg

Image 01055u: .tif file
This is a bonus image!
Green Offset: (25,19) Red Offset: (59,24)



Image 01047u.jpg

Image 01047u: .tif file
Green Offset: (24,19) Red Offset: (71,33)



Image 01043u.jpg

Image 01043u: .tif file
Green Offset: (-14,9) Red Offset: (12,17)



Image 01031v.jpg

Image 01031v
Green Offset: (1,1) Red Offset: (4,1)



Image 00955u.jpg

Image 00955u: .tif file
This is a bonus image!
Green Offset: (21,18) Red Offset: (55,30)



Image 00911v.jpg

Image 00911v
This is the only image I was unable to properly align. I suspect that it has to do with the man on the left being improperly matched to the man on the right, or the sticks in the water in the foreground (or those in the back) being improperly matched. This picture seems difficult to align accurately.
Green Offset: (1,-1) Red Offset: (0,2)



Image 00907v.jpg

Image 00907v
Green Offset: (2,0) Red Offset: (5,-1)



Image 00892u.jpg

Image 00892u: .tif file
Green Offset: (16,3) Red Offset: (42,4)



Image 00889v.jpg

Image 00889v
Green Offset: (2,2) Red Offset: (4,3)



Image 00888v.jpg

Image 00888v
Green Offset: (6,1) Red Offset: (12,0)



Image 00822u.jpg

Image 00822u: .tif file
Green Offset: (57,24) Red Offset: (124,32)



Image 00757v.jpg

Image 00757v: I was able to align this image properly when using the single-case non-image-pyramid method, however my multicase solution fails to accurately align it (see below for that image).
Green Offset: (0,0) Red Offset: (5,1)



Image 00757v-2.jpg

Image 00757v-2: This is the multicase solution to the above image. I'm not sure why this image fails, but I suspect it has to do with circshift and the image's top matching its bottom.
Green Offset: (2,3) Red Offset: (-78,31)



Image 00737u.jpg

Image 00737u: .tif file
Green Offset: (15,4) Red Offset: (49,13)



Image 00458u.jpg

Image 00458u: .tif file
Green Offset: (42,4) Red Offset: (86,31)



Image 00128u.jpg

Image 00128u: .tif file
Green Offset: (35,24) Red Offset: (52,37)



Image 00106v.jpg

Image 00106v
Green Offset: (4,1) Red Offset: (9,-1)



Image 00087u.jpg

Image 00087u: .tif file
Green Offset: (48,39) Red Offset: (108,55)



Image 00029u.jpg

Image 00029u: .tif file
Green Offset: (39,17) Red Offset: (90,35)