15463 Project 1: Aakash Patel

Description

The project aligns the 3 RGB channels. It uses the squared L2 distance between the images to determine best fit. For small images, we run over the [-15,15] window on both axes. For large images, we first downsize the image and then recursively shift. We then take the shifted value and use it on the top level function call as a starting point, and go [-5,5] around it because the guess is close.

However, for large images, it fails because the edges are all torn up. So, before we start, we only pass the middle 3/4 of the picture (along each axis) to the align function.

Images

00029u.tif
Green shift:(38, 16)
Red shift:(90, 34)

00087u.tif
Green shift:(48, 38)
Red shift:(107, 55)

00106v.jpg
Green shift:(4, 1)
Red shift:(9, -1)

00128u.tif
Green shift:(35, 25)
Red shift:(51, 38)

00458u.tif
Green shift:(42, 5)
Red shift:(87, 32)

00737u.tif
Green shift:(14, 6)
Red shift:(49, 14)

00757v.jpg
Green shift:(2, 3)
Red shift:(5, 5)

00822u.tif
Green shift:(57, 25)
Red shift:(125, 33)

00888v.jpg
Green shift:(6, 1)
Red shift:(12, 0)

00889v.jpg
Green shift:(2, 2)
Red shift:(4, 3)

00892u.tif
Green shift:(16, 2)
Red shift:(42, 4)

00907v.jpg
Green shift:(2, 0)
Red shift:(6, 0)

00911v.jpg
Green shift:(1, -1)
Red shift:(13, -1)

01031v.jpg
Green shift:(1, 1)
Red shift:(4, 2)

01043u.tif
Green shift:(-16, 10)
Red shift:(11, 17)

01047u.tif
Green shift:(24, 20)
Red shift:(71, 33)

01657v.jpg
Green shift:(5, 1)
Red shift:(12, 1)

01880v.jpg
Green shift:(6, 2)
Red shift:(14, 4)

custom-00893a.tif
Green shift:(11, 17)
Red shift:(35, 18)

custom-00895u.tif
Green shift:(73, 22)
Red shift:(154, 35)

custom-00908a.tif
Green shift:(32, 1)
Red shift:(67, -19)