This image was produced by combining the following two pictures:
Here's the source:
First, my program expands both images so that a) they are the same size, and b) they both have dimensions of 2^n+1, by duplicating the last row of pixels on each side. Then, I compute the gaussian and laplacian pyramids for each of the two images. To compute the gaussian, I convolve each image with a 5x5 kernel, and then reduce the sample size by 1/2 in each dimension. I repeat this until my image is 3x3 pixels. To compute the laplacian, I expand each gaussian image by 2 in each direction, integrating between adjacent pixel values to fill in the gaps. The laplacian is then the difference between this image, and the previous level of the gaussian pyramid.
I then compute the final, spliced image by taking the topmost 3x3 level of the gaussian pyramids, combining them by butting them up against each other with a 1-pixel overlap, and repeatedly expanding by adding the combined (again, 1-pixel overlap) levels of the laplacian pyramid.
Probably the biggest weakness of this technique has something in common with all image-combination techniques: the two images have to be sufficiently similar so as to not look ridiculous. If Irfan didn't have a little bit of elvis in his soul, I couldn't have done this assignment. :)
I suspect that image quality degrades depending on how much you have to pad the image to get it up to 2^n-1 pixels. I would expect that an image which was 130x130 pixels would probably look much worse after splining than an image which was 129x129 pixels, since the 130x130 image would have to be padded. Other than those, I'm having real trouble thinking up other limitations and assupmtions of the technique.
Here's the gaussian pyramid for the red part of the elvis image:
And here's the laplacian: