I want to put a segment of an image to another image. But to make it realistic I applied poisson blending. But the output is not good at all.

Output without poisson blending. The kid was cropped from another image.

enter image description here

With poisson blending

enter image description here

I have no clue what else to try. I though of calculating average value of the image segment where the kid is placed and then scaling the kids color to that average. But it should not work properly if that image segment is very white or black etc.

  • $\begingroup$ What you need is probably something along the lines of color grading (tone mapping) rather than blending. Since you wrote the question terms of CG, I won't downvote it, but imho the issue is one of "using" image manipulation software and thus doesn't belong here. I suggest you look into the partner stack exchange websites: photo.stackexchange.com and graphicdesign.stackexchange.com $\endgroup$
    – Tare
    Aug 29, 2018 at 13:08
  • $\begingroup$ I need to do it programmatically. So using tools is not an option. $\endgroup$
    – Tahlil
    Aug 29, 2018 at 13:36
  • $\begingroup$ What exactly were you hoping to achieve by using Poission blending? $\endgroup$
    – Dan Hulme
    Aug 29, 2018 at 14:15
  • $\begingroup$ Could you give an example of your intended result? Either an image or a description of what would be different? $\endgroup$ Aug 30, 2018 at 18:01
  • $\begingroup$ Sorry I don't have the image for intended output. The cropped image segment looks artificial in that image. Because in this case the kid image is brighter and sharper than the destination image. That's why it doesn't look natural. $\endgroup$
    – Tahlil
    Aug 31, 2018 at 3:04

1 Answer 1

  1. Move the child down slightly so the right foot is behind the shoulder.

  2. Reduce their size almost 50%.

  3. Blend only the outline of the child with the background, at most a few pixels.

  4. The men appear to be standing straight while the child appears to be leaned forward slightly - rotate the top of the inserted image backwards ~5°.

  5. Reduce the brightness of the child slightly.

Doing the above should result in a realistic result.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.