Project 2: Poisson Image Editing | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
Directory | ||||||||||||||||||||||||||||||||||||||||
Algorithm | ||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||
General Comments | ||||||||||||||||||||||||||||||||||||||||
The algorithm assumes that the color of the source image is close to that of the target. This assumption means that when the colors don't match, the source image color gets tinted toward the color of the target image. The big-O speed of the algorithm depends on the system of equations solver implementation as well as how long it takes to set up the equations. In MATLAB, the biggest time-waster is indexing into a large sparse matrix. I've managed to bring the indexing down to the number of white pixels in the mask, but it is still very slow. Possible speed improvements lie within having a sparse matrix be smaller in size, though the overhead for that appears difficult compared to the current implementation. |
||||||||||||||||||||||||||||||||||||||||
Bells and Whistles | ||||||||||||||||||||||||||||||||||||||||
Preserve transparencies by taking the stronger of the source and target gradients at each pixel. Compare the magnitude of the gradients of the pixel to the neighbor. Take the stronger of the two. An individual pixel may take some of the gradients from the source and some from the target. The plane and rainbow use this gradient mixture model. |
||||||||||||||||||||||||||||||||||||||||
Results | ||||||||||||||||||||||||||||||||||||||||
There is a tendency of the results to blur the target image around the source image mask. This is not desirable, however there is no distinctly visible seam. There is also a tendency of the source image to absorb the color of the target image underneath. In the case of the bear in water, the bear became blue tinted; in the case of the plane, it became dark like the mountains in the background. | ||||||||||||||||||||||||||||||||||||||||
|