Colorizing the Russian Empire

Castro Cabrera, Ramses


1. Description of the project

The objective of this project is to generate a colored imagen from three different images. Almost all the images presented here form part of Prokudin-Gorskii’s collection. In order to generate a RGB images, we must adjust the three different channels in the correct order, also we have to line up all the images to generate a single one in 3D, with colors like in real life.

2. Low Resolution

00106v
Blue Offset : x = -2, y = -3
Red Offset : x = -2, y = 6


0757v
Blue Offset : x = -3, y = 2
Red Offset : x = 1, y = 6


00888v
Blue Offset : x = -3, y = -17
Red Offset : x = -4, y = 6


00889v
Blue Offset : x = 0, y = -1
Red Offset : x = 1, y = 2


00907v
Blue Offset : x = 0, y = -1
Red Offset : x = 0, y = 2


00911v
Blue Offset : x = 1, y = -1
Red Offset : x = 0, y = 12


001031v
Blue Offset : x = -2, y = -1
Red Offset : x = 0, y = -2


01657v
Blue Offset : x = 0, y = -6
Red Offset : x = 0, y = 6


01850v
Blue Offset : x = -3, y = -6
Red Offset : x = 2, y = 8


3. High resolution

00029u
Blue Offset : x = -12, y = -47
Red Offset : x = 20, y = 50


00087u
Blue Offset : x = -62, y = -45
Red Offset : x = 20, y = 62


00128u
Blue Offset : x = -25, y = -28
Red Offset : x = 14, y = 18


00458u
Blue Offset : x = -5, y = -41
Red Offset : x = 24, y = 44


00737u
Blue Offset : x = -7, y = -16
Red Offset : x = 7, y = 35


00822u
Blue Offset : x = -25, y = -55
Red Offset : x = 9, y = 68


00892u
Blue Offset : x = -3, y = -18
Red Offset : x = 1, y = 25


01043u
Blue Offset : x = -3, y = 22
Red Offset : x = 9, y = 25


01047u
Blue Offset : x = -16, y = -20
Red Offset : x = 15, y = 45


4. Aditional images

00005u
Blue Offset : x = -12, y = -32
Red Offset : x = -2, y = 58


00016u
Blue Offset : x = -11, y = -42
Red Offset : x = 5, y = 52


00017u
Blue Offset : x = 15, y = 1
Red Offset : x = -6, y = 3


00018u
Blue Offset : x = -32, y = -60
Red Offset : x = 13, y = 71


00019u
Blue Offset : x = -20, y = -48
Red Offset : x = 4, y = 53


00020u
Blue Offset : x = 14, y = -40
Red Offset : x = -17, y = 48


00021u
Blue Offset : x = -35, y = -26
Red Offset : x = 33, y = 45


00024u
Blue Offset : x = 7, y = -44
Red Offset : x = -6, y = 43


00025u
Blue Offset : x = -20, y = -39
Red Offset : x = 7, y = 60


00288u
Blue Offset : x = -2, y = -35
Red Offset : x = 0, y = 89


5. Become Prokudin-Gorskii!

For this point, I have taken some pictures of common articles finding them adequate to explain the process followed by Prokudin-Gorskii. In fact it’s not difficult but the main problem is not to take a picture but take it at the same distance, angle and illumination.

Pizza box
Blue Offset : x = 65, y = 510
Red Offset : x = 35, y = -360


Small containers
Blue Offset : x = -20, y = 170
Red Offset : x = 0, y = -70


Milk
Blue Offset : x = 40, y = -125
Red Offset : x = 40, y = -140


As we can see, the images taken by me are not that good. I find three different problems:

The first is the proximity to the object. When we have an object near to the camera almost every little change in relation with the next picture affect the final result. Taking a picture with a longer distance between the object and the camera could eliminate these changes or at least make them less evident.

Bounded to the first problem, the angle of the camera can also affect the final result. If the three pictures are not taken with the same angle in X axis, the difference will eventually make impossible to have a reference point, resulting in a RGB picture with specters on each channel.

The third problem is not to make a rotating angle over X axis. In the examples made by Prokudin-Gorskii, he used three cameras with three different shots but a single central point. In my experience, I only had one camera so I decided to make three shots. In the example of Prokudin-Gorskii, even if it is not appreciated, there is a little angle between the three cameras so each camera had the same central point. If this central point is not well adjusted, the result will be a mismatch between the three channels.

6. Conclusion

The algorithm necessary to reconstruct the base image depend on the size of the image. If good results want to be obtained, it is necessary to take a picture on a bigger place. The use of a recursive method allows to avoid numerous calculations but take a lot of time, so a secondary method such as resize the image is helpful to this kind of task.