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.