Programming Project #1

Colorizing the Prokudin-Gorskii photo collection

by Chao-Yueh (Joseph) Su


Overview

This project takes digitized Prokudin-Gorskii glass plate images and uses MATLAB to combine (restore) them into a single, colored image. The approach is as follows. First we split the image into three equal parts. Then, within a user-specified window we search exhaustively with a displacement of the split image to see which one of it fits the best to another split image. The algorithm for judging the level of alignment is simply L2 norm (Sum of Squared Differences).

The demonstration of the results will be split into three parts - the example jpeg images, the example tiff images, and the images downloaded from the Prokudin-Gorskii collection.

Results

Displacement shown is arranged as G: y x, R: y x

JPEG images

For the JPEG images, the program only search for positive displacements.

4 1 9 1

1 1 5 1

6 1 10 1

1 1 5 1

1 1 5 1

This (above) misaligned image is fixed by only calculating the norm of the center.
shift = circshift(Im1,[i j]);
eval_disp(i,j) = eval(shift(100:200,100:200),Im2(100:200,100:200));


The technique is not implemented else where, as it generally does not produce better alignment for other images.

1 1 13 1

1 1 4 1

5 1 12 1

6 2 13 3

tiff images

Below are the jpg versions of original pictures. Click on them for tiff version.

tiff images generally are not aligned very well, which I think is because of the chosen L2 norm method. Color intensities are not taken into account-- for example, blue sky has a lot of blue but little red and green. This causes problems especially when two large area of different colors come in contact with each other, as for L2 norm no matter the displacement the difference is always big.
This problem also accounts for bad alignment in other images.

The process is sped up using the image pyramid method.

78 -6 88 -12

54 0 102 0

36 2 84 4

110 -8 106 0

38 -2 50 0

62 2 100 -4

-16 -8 58 -16

-18 2 58 -10

26 2 50 8

other images

0 -1 5 -2

0 1 3 -1

-2 0 -6 -1

-2 -1 -2 -1

8 1 7 3