Project 2: Image Blending (Writeup)

Jason Pacheco (pachecoj)

February 17, 2010


Algorithm Description

A straitforward implementation of seamless image blending due to Perez, et al. is implemented in the function poisson(). Among the various performance considerations are,

Graduate Credit: Transparency

Default Rule Transparency Rule

For graduate credit I implemented the transparency rule presented in Perez et al. in the functions poisson_transparent() and compute_diffs_blended(). Namely,

The images to the right show the results with and without the transparency rule. Some loss of detail is incurred in the blending of the source image since strong target gradients will be shown through the source image. This is noticeable in the face image to the right.

However, certain images such as the writing image to the right benefit greatly from this hueristic. The closeups show that implementing the transparency rule avoids blurring of the target gradient in parts of the source where no texture exists.

More comparisons are provided in the full results section below.

Results

The results are provided below for both the "vanilla" implementation (e.g. default gradient rule) and the transparency rule. Some have been scaled down, you may click on these to view the full-size image.

Default Implementation Transparency Rule