All Projects → Erkaman → Poisson_blend

Erkaman / Poisson_blend

Licence: mit
Seamless copy-and-paste of images with Poisson Blending.

Programming Languages

processing
702 projects

Projects that are alternatives of or similar to Poisson blend

Tutorials
AI-related tutorials. Access any of them for free → https://towardsai.net/editorial
Stars: ✭ 204 (-26.35%)
Mutual labels:  tutorial, math, mathematics
Hole fixer
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
Stars: ✭ 165 (-40.43%)
Mutual labels:  demo, math, eigen
biginteger
A PHP library to work with big integers.
Stars: ✭ 19 (-93.14%)
Mutual labels:  math, mathematics
math-app-ml
Essential mathematics for applied machine learning and data science
Stars: ✭ 43 (-84.48%)
Mutual labels:  math, mathematics
Online-Tools
Webpage offering a wide range of online tools
Stars: ✭ 38 (-86.28%)
Mutual labels:  math, mathematics
autodiff
A .NET library that provides fast, accurate and automatic differentiation (computes derivative / gradient) of mathematical functions.
Stars: ✭ 69 (-75.09%)
Mutual labels:  math, mathematics
Program-Matematika
Program Matematika adalah sebuah repository GitHub yang berisi program yang dapat memudahkan para pelajar atau guru dalam menyelesaikan masalah Matematika dengan Terminal
Stars: ✭ 15 (-94.58%)
Mutual labels:  math, mathematics
Euler
The open-source computational framework for the Swift language
Stars: ✭ 37 (-86.64%)
Mutual labels:  math, mathematics
maths-for-deep-learning-ai
A open source book covering the foundational maths of deep learning and machine learning using TensorFlow
Stars: ✭ 35 (-87.36%)
Mutual labels:  math, mathematics
Selene
A C++17 image representation, processing and I/O library.
Stars: ✭ 266 (-3.97%)
Mutual labels:  image-processing, image
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (-7.94%)
Mutual labels:  image-processing, image
Imager
Automated image compression for efficiently distributing images on the web.
Stars: ✭ 266 (-3.97%)
Mutual labels:  image-processing, image
React Ssd1306
📟 A React Renderer for SSD1306 OLED chip on Raspberry Pi.
Stars: ✭ 273 (-1.44%)
Mutual labels:  tutorial, demo
rclc
Mathematical expression calculator with big integers, floats, common fractions, and complex numbers support
Stars: ✭ 24 (-91.34%)
Mutual labels:  math, mathematics
ign-math
General purpose math library for robot applications.
Stars: ✭ 35 (-87.36%)
Mutual labels:  math, eigen
math eval
✖️➕➖➗ `math_eval` safely evaluates mathematical expressions
Stars: ✭ 33 (-88.09%)
Mutual labels:  math, mathematics
GNFS
A complete, proof-of-concept, C# implementation of the General Number Field Sieve algorithm for factoring very large semi-prime numbers. The focus was on readability and understandability of the code, not performance.
Stars: ✭ 39 (-85.92%)
Mutual labels:  math, mathematics
Mather
zzllrr mather(an offline tool for Math learning, education and research)小乐数学,离线可用的数学学习(自学或教学)、研究辅助工具。计划覆盖数学全部学科的解题、作图、演示、探索工具箱。目前是演示Demo版(抛转引玉),但已经支持数学公式编辑显示,部分作图功能,部分学科,如线性代数、离散数学的部分解题功能。最终目标是推动专业数学家、编程专家、教育工作者、科普工作者共同打造出更加专业级的Mather数学工具
Stars: ✭ 270 (-2.53%)
Mutual labels:  math, mathematics
string-math
Evaluates a math expression from a string. Supports variables and custom operators.
Stars: ✭ 14 (-94.95%)
Mutual labels:  math, mathematics
mish
A no-std libm implementation in Rust
Stars: ✭ 14 (-94.95%)
Mutual labels:  math, mathematics

poisson_blend - A simple, readable implementation of Poisson Blending

An implementation of Poisson Blending, that demonstrates the concepts explained in my article.

To use the progam, you specify a source image and a target image. The source image is seamlessly copied and pasted into the target image, at some specified pixel location.

By running the command line

poisson_blend -source img/kitten.png -target img/library.png -mask img/kittenmask.png -output result.png -mx 280 -my 340

An image of a kitten can be seamlessly copied and pasted into the library, at the position (280, 340), as can be seen below. The mask specifies which pixels of the kitten should actually be copied and pasted. The remaining pixels are ignored. Note that only pure red pixels of RGB color (255,0,0) are considered part of the mask.

The result of the above command line can be seen below:

kitten library kitten mask kitten mask
source target mask result

Gallery

A small gallery of images made with this program are presented below.

penguin library penguin library
source target result
moon gothenburg moon gothenburg
source target result
penguin beach penguin beach
source target result
eagle liberty eagle liberty
source target result
water eagle lake water eagle lake
source target result
balloon colosseum balloon colosseum
source target result

Building

The only dependencies are lodepng and Eigen. Both of which are included within this repository.

We use CMake for building. If on Linux or OS X, you can build it in the terminal by doing something like:

mkdir build && cd build && cmake .. && make

If on Windows, create a build/ folder, and run cmake .. from inside that folder. This will create a visual studio solution(if you have visual studio). Launch that solution, and then simply compile the project named poisson_blend.

Image Sources

Below we list the soures of all images that we used in the gallery.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].