Colorizing 1907 Russian Empire Photographs
Reconstructing color from Sergei Prokudin-Gorskii's glass plate negatives (captured 1907–1915) using image pyramids and normalized cross-correlation alignment.

Before color film existed, Sergei Prokudin-Gorskii traveled across the Russian Empire with a camera that exposed three grayscale plates through red, green, and blue filters. A century later, the plates survive — but the three exposures are slightly offset, and naive stacking produces ghosted, rainbow-fringed chaos.

Three glass plates per photograph — blue, green, and red filtered exposures of the same subject, captured seconds apart. Each looks like a tinted black-and-white image. The job: find the (x, y) shift that aligns each pair, then stack them into one full-color image.
The Alignment Problem
Left: stacking the three plates without alignment. The R channel sits 104 pixels down and 56 right of the B channel — every edge becomes a rainbow. Right: after pyramid-search NCC alignment. Pyramid downsampling cuts the search from O(n²) brute force to O(log n); normalized cross-correlation handles the brightness mismatch between filters that would dominate a sum-of-squared-differences score.
The Collection
The emir’s robe was the hardest plate — its red dye absorbs differently in each filter, so intensity-based alignment fails. Switching to gradient-magnitude features (where edges drive the correlation, not raw pixels) fixes it.
Related projects
Face Morphing with Delaunay Triangulation
Smooth warping between two faces via point correspondences, Delaunay triangulation, and affine warps per triangle. Plus: population mean faces and caricature generation by extrapolation.
Auto-Stitching Photo Mosaics
Building a panorama pipeline from scratch — Harris corner detection, Adaptive Non-Maximal Suppression, feature matching, RANSAC for homography estimation, and Laplacian-pyramid blending.
Filters & Frequencies — Edges, Hybrid Images, and Blending
Working in the frequency domain to extract edges, create hybrid images that change meaning with viewing distance, and blend images seamlessly via Laplacian pyramids. Ends with the famous 'oraple.'