Generally, the hybrid images algorithm works by creating a Gaussian and a Laplacian pyramid for each image, combining the two Laplacian pyramids, and then attempting to reconstruct one of the images using the merged Laplacian pyramid.
For each of the two images we first generated a Gaussian and a Laplacian pyramid of size N.
Unlike a standard Gaussian pyramid, we did not resize the images at each iteration, as this produced better empirical results. This resizing was implemented, but not used for the images below.
Next, to get a frequency cutoff J, we merged the first J levels of the Laplacian pyramid of the image with the high frequencies we want with the N-J levels of the pyramid of the image with the low frequencies we want.
Finally, we use this merged Laplacian pyramid to reconstruct the hybrid image, where G(i) is the ith level of the low-frequency image's pyramid, and L(i) is the ith level of the merged Laplacian pyramid:
The hybrid image algorithm we used appeared to replicate the results of Olivia, et al. fairly well. However, there are many parameters to the algorithm (image alignment, window size and bandwidth of the smoothing Gaussian, number of layers in the pyramid) that it was difficult to replicate their results exactly. Using color appeared to improve the low frequency component (for example, with the rhino). However, the algorithm also worked well in black and white.