Poisson Image Editing
The goal of Poisson image editing is to perform seamless blending of an object or a texturefrom a source image (captured by a mask image) to a target image. We want to create a photomontage by pasting an image region onto a new background using Poisson image editing. This idea is from the P´erez et al’s SIGGRAPH 2003 paper Poisson Image Editing.
The following figures describe the basic theory. As can be seen, the problem is first expressed in the continuous domain as a constrained variational optimization problem and then can be solved using a discrete Poisson solver
As described in the paper , the main task of Poisson image editing is to solve a huge linear system Ax = b (where I is the new unknown image and S and T are the known images).
Seamless Cloning
The following images are taken from an assignment , where the Poisson image editing had to be used to blend the source inside the mask inside the target image. The next few figures show the result obtained.
Source Imagehttps://sandipanweb.files.wordpress.com/2017/10/bear.png?w=150&… 150w” sizes=”(max-width: 701px) 100vw, 701px” />
Mask Imagehttps://sandipanweb.files.wordpress.com/2017/10/mask.png?w=150&… 150w” sizes=”(max-width: 687px) 100vw, 687px” />
Target Image
Output Gray-Scale Image with Poisson Image Editing
https://sandipanweb.files.wordpress.com/2017/10/pe_waterpool.png?w=… 150w” sizes=”(max-width: 676px) 100vw, 676px” />
The next animation shows the solution gray-scale images obtained at different iterations using Conjugate Gradient method when solving the linear system of equations.
Output Color Image with Poisson Image Editing
The next animation shows the solution color images obtained at different iterationsusing Conjugate Gradient method to solve the linear system of equations, applying the discrete Poisson solver on each channel.
The following images are taken from another on computational photography. Again, the same technique is used to blend the octopus from the source image to the target image.
Source Image
Mask Image
Target Image
Output Image
The next animation shows the solution color images obtained at different iterationsusing Conjugate Gradient method to solve the linear system of equations, applying the discrete Poisson solver on each channel.
Again, Poisson gradient domain seamless cloning was used to blend the penguins’ image inside the following target image with appropriate mask.
Source Image
Target Image
Output Image
The next animation again shows the solution color images obtained at different iterations using Conjugate Gradient method to solve the linear system of equations, applying the discrete Poisson solver on each channel.
The next figures show how a source bird image is blended into the target cloud image with seamless cloning.
Source Image
Target Image
Output gray-scale image
The next animation shows the solution gray-scale images obtained at the first few iterations using Conjugate Gradient method when solving the linear system of equations.
Finally, the next figures show how the idol of the Goddess Durga is blended into the target image of the city of kolkata with seamless cloning. As can be seen, since the source mask had its own texture and there is a lots of variations in the background texture, the seamless cloning does not work that well.
Source Image
Target Image
Output Image
The next animation shows the solution gray-scale images obtained at the first few iterations using Conjugate Gradient method when solving the linear system of equations.
The next animation again shows the solution color images obtained at different iterations using Conjugate Gradient method to solve the linear system of equations, applying the discrete Poisson solver on each channel.
Gradient Mixing: Inserting objects with holes
Again, the next figures are taken from the same paper, this time the source objects contain holes. As can be seen from the following results, the seamless cloning does not work well in this case for inserting the object with holes into the target, the target texture is lost inside the mask after blending.
Source Image Target Image
Output Image with Poisson Seamless Cloning
The next animation again shows the solution color images obtained at the first few iterations using Conjugate Gradient method while solving the linear system of equations for seamless cloning, applying the discrete Poisson solver on each channel.
Using the mixing gradients method the blending result obtained is far better, as shown below, it preserves the target texture.
Output Image with Poisson Mixing Gradients
The next animation again shows the solution color images obtained at the first few iterations using Conjugate Gradient method while solving the linear system of equations for mixing gradients, applying the discrete Poisson solver on each channel.
The next few figures show the results obtained using mixing gradients on another set of images, the seamless cloning does not work well in this case, but mixing gradientworks just fine.
Source Image
Target Image
Output Image with mixing gradients
The next animation again shows the solution color images obtained at the first few iterations using Conjugate Gradient method while solving the linear system of equations for mixing gradients, applying the discrete Poisson solver on each channel.
Creating Cartoon-like images: Texture Flattening
As illustrated in the paper, by retaining only the gradients at edge locations, before integrating with the Poisson solver, one washes out the texture of the selected region, giving its contents a flat aspect.
The following figures show the output cartoon-like image obtained using texture flattening, using the canny-edge detector to generate the mask.
Source Image
Mask Image created with Canny edge detector
Output cartoon obtained with texture flattening from the source with the mask
The next animation shows the solution color images obtained at the first few iterationsusing Conjugate Gradient method while solving the linear system of equations for texture flattening, applying the discrete Poisson solver on each channel.
Again, the next figures show the output cartoon-like image obtained using texture flattening, using the canny-edge detector to generate the mask on my image.
Source Image
Output image obtained with texture flattening
The next animation again shows the solution color images obtained at the first few iterations using Conjugate Gradient method while solving the linear system of equations for texture flattening, applying the discrete Poisson solver on each channel.