Proj 1, Aaron Chen

Overview

This project asked us to put images captured with red, green, and blue filters, and put them into one color image. For the small images I brute force searched through displacements between -15 and 15, using SSD as my scoring algorithm to choose good displacements. But that didn't scale to the large images. For those, I scaled the images down by .5 5 times, and used the pyramid algorithm to find the optimal displacements. I had to crop borders out before doing anything as that messed with the circular shift that I did. I tried to crop out the unused parts of the images from the circular shift, but that gave me poor results, so I didn't end up using that.

Offsets

castle best disp green: (34, 3) best disp red (98, 4)
emir best disp green: (49, 24) best disp red (97, -215)
harvesters best disp green: (59, 16) best disp red (124, 13)
icon best disp green: (41, 17) best disp red (89, 23)
lady best disp green: (51, 9) best disp red (112, 11)
melons best disp green: (81, 10) best disp red (178, 13)
onion_church best disp green: (51, 26) best disp red (108, 36)
self_portrait best disp green: (78, 29) best disp red (176, 37)
three_generations best disp green: (53, 14) best disp red (112, 11)
train best disp green: (42, 5) best disp red (87, 32)
workshop best disp green: (53, 0) best disp red (105, -12)
00903u best disp green: (26, 11) best disp red (63, 16)
00907u best disp green: (25, 4) best disp red (58, -4)
00927u best disp green: (48, 4) best disp red (221, 4)
cathedral best disp green: (5, 2) best disp red (12, 3)
monastery best disp green: (-3, 2) best disp red (3, 2)
tobolsk best disp green: (3, 3) best disp red (6, 3)

The example images:

handpicked images

handpicked image #1 (00903): handpicked image #2 (00907): handpicked image #3 (00927):

Why fail?

my algorithm failed to align on emir because of the brightness inconsistency across the channels. I used SSD which was unable to correctly assess "good" displacements due to the brightness difference.