The goal of *Poisson image editing* is to perform *seamless blending* of an *object* or a *texture*from 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).

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 Image*https://sandipanweb.files.wordpress.com/2017/10/bear.png?w=150&... 150w" sizes="(max-width: 701px) 100vw, 701px" />

* Mask Image*https://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

**Output Color Image with Poisson Image Editing**

The next ** animation **shows the solution color images obtained at different

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

Again, ** Poisson gradient domain seamless cloning** was used to blend the

**Source Image**

**Target Image **

**Output Image**

The next ** animation **again shows the solution color images obtained at different

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 i*terations* using * Conjugate Gradient* method when

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 i*terations* using * Conjugate Gradient* method when

The next ** animation **again shows the solution color images obtained at different

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

**Source Image Target Image**

**Output Image with Poisson Seamless Cloning**

The next ** animation **again shows the solution color images obtained at the first few

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

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

**Source Image**

**Target Image**

**Output Image with mixing gradients**

The next ** animation **again shows the solution color images obtained at the first few

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

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

© 2020 Data Science Central ® Powered by

Badges | Report an Issue | Privacy Policy | Terms of Service

**Upcoming DSC Webinar**

- Optimization and The NFL’s Toughest Scheduling Problem - June 23

At first glance, the NFL’s scheduling problem seems simple: 5 people have 12 weeks to schedule 256 games over the course of a 17-week season. The scenarios are potentially well into the quadrillions. In this latest Data Science Central webinar, you will learn how the NFL began using Gurobi’s mathematical optimization solver to tackle this complex scheduling problem. Register today.

**Most Popular Content on DSC**

To not miss this type of content in the future, subscribe to our newsletter.

- Book: Statistics -- New Foundations, Toolbox, and Machine Learning Recipes
- Book: Classification and Regression In a Weekend - With Python
- Book: Applied Stochastic Processes
- Long-range Correlations in Time Series: Modeling, Testing, Case Study
- How to Automatically Determine the Number of Clusters in your Data
- New Machine Learning Cheat Sheet | Old one
- Confidence Intervals Without Pain - With Resampling
- Advanced Machine Learning with Basic Excel
- New Perspectives on Statistical Distributions and Deep Learning
- Fascinating New Results in the Theory of Randomness
- Fast Combinatorial Feature Selection

**Other popular resources**

- Comprehensive Repository of Data Science and ML Resources
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- 100 Data Science Interview Questions and Answers
- Cheat Sheets | Curated Articles | Search | Jobs | Courses
- Post a Blog | Forum Questions | Books | Salaries | News

**Archives:** 2008-2014 |
2015-2016 |
2017-2019 |
Book 1 |
Book 2 |
More

**Upcoming DSC Webinar**

- Optimization and The NFL’s Toughest Scheduling Problem - June 23

At first glance, the NFL’s scheduling problem seems simple: 5 people have 12 weeks to schedule 256 games over the course of a 17-week season. The scenarios are potentially well into the quadrillions. In this latest Data Science Central webinar, you will learn how the NFL began using Gurobi’s mathematical optimization solver to tackle this complex scheduling problem. Register today.

**Most popular articles**

- Free Book and Resources for DSC Members
- New Perspectives on Statistical Distributions and Deep Learning
- Time series, Growth Modeling and Data Science Wizardy
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- Comprehensive Repository of Data Science and ML Resources
- Advanced Machine Learning with Basic Excel
- Difference between ML, Data Science, AI, Deep Learning, and Statistics
- Selected Business Analytics, Data Science and ML articles
- How to Automatically Determine the Number of Clusters in your Data
- Fascinating New Results in the Theory of Randomness
- Hire a Data Scientist | Search DSC | Find a Job
- Post a Blog | Forum Questions

## You need to be a member of Data Science Central to add comments!

Join Data Science Central