OpenCV
4.1.0
Open Source Computer Vision
|
Enumerations | |
enum | { cv::NORMAL_CLONE = 1, cv::MIXED_CLONE = 2, cv::MONOCHROME_TRANSFER = 3 } |
seamlessClone algorithm flags More... | |
Functions | |
void | cv::colorChange (InputArray src, InputArray mask, OutputArray dst, float red_mul=1.0f, float green_mul=1.0f, float blue_mul=1.0f) |
Given an original color image, two differently colored versions of this image can be mixed seamlessly. | |
void | cv::illuminationChange (InputArray src, InputArray mask, OutputArray dst, float alpha=0.2f, float beta=0.4f) |
Applying an appropriate non-linear transformation to the gradient field inside the selection and then integrating back with a Poisson solver, modifies locally the apparent illumination of an image. | |
void | cv::seamlessClone (InputArray src, InputArray dst, InputArray mask, Point p, OutputArray blend, int flags) |
Image editing tasks concern either global changes (color/intensity corrections, filters, deformations) or local changes concerned to a selection. Here we are interested in achieving local changes, ones that are restricted to a region manually selected (ROI), in a seamless and effortless manner. The extent of the changes ranges from slight distortions to complete replacement by novel content. | |
void | cv::textureFlattening (InputArray src, InputArray mask, OutputArray dst, float low_threshold=30, float high_threshold=45, int kernel_size=3) |
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. Here Canny Edge Detector is used. | |
Useful links:
https://www.learnopencv.com/seamless-cloning-using-opencv-python-cpp
anonymous enum |
seamlessClone algorithm flags
void cv::colorChange | ( | InputArray | src, |
InputArray | mask, | ||
OutputArray | dst, | ||
float | red_mul = 1.0f , |
||
float | green_mul = 1.0f , |
||
float | blue_mul = 1.0f |
||
) |
Given an original color image, two differently colored versions of this image can be mixed seamlessly.
src | Input 8-bit 3-channel image. |
mask | Input 8-bit 1 or 3-channel image. |
dst | Output image with the same size and type as src . |
red_mul | R-channel multiply factor. |
green_mul | G-channel multiply factor. |
blue_mul | B-channel multiply factor. |
Multiplication factor is between .5 to 2.5.
void cv::illuminationChange | ( | InputArray | src, |
InputArray | mask, | ||
OutputArray | dst, | ||
float | alpha = 0.2f , |
||
float | beta = 0.4f |
||
) |
Applying an appropriate non-linear transformation to the gradient field inside the selection and then integrating back with a Poisson solver, modifies locally the apparent illumination of an image.
src | Input 8-bit 3-channel image. |
mask | Input 8-bit 1 or 3-channel image. |
dst | Output image with the same size and type as src. |
alpha | Value ranges between 0-2. |
beta | Value ranges between 0-2. |
This is useful to highlight under-exposed foreground objects or to reduce specular reflections.
void cv::seamlessClone | ( | InputArray | src, |
InputArray | dst, | ||
InputArray | mask, | ||
Point | p, | ||
OutputArray | blend, | ||
int | flags | ||
) |
Image editing tasks concern either global changes (color/intensity corrections, filters, deformations) or local changes concerned to a selection. Here we are interested in achieving local changes, ones that are restricted to a region manually selected (ROI), in a seamless and effortless manner. The extent of the changes ranges from slight distortions to complete replacement by novel content.
PM03 .
src | Input 8-bit 3-channel image. |
dst | Input 8-bit 3-channel image. |
mask | Input 8-bit 1 or 3-channel image. |
p | Point in dst image where object is placed. |
blend | Output image with the same size and type as dst. |
flags | Cloning method that could be cv::NORMAL_CLONE, cv::MIXED_CLONE or cv::MONOCHROME_TRANSFER |
void cv::textureFlattening | ( | InputArray | src, |
InputArray | mask, | ||
OutputArray | dst, | ||
float | low_threshold = 30 , |
||
float | high_threshold = 45 , |
||
int | kernel_size = 3 |
||
) |
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. Here Canny Edge Detector is used.
src | Input 8-bit 3-channel image. |
mask | Input 8-bit 1 or 3-channel image. |
dst | Output image with the same size and type as src. |
low_threshold | Range from 0 to 100. |
high_threshold | Value > 100. |
kernel_size | The size of the Sobel kernel to be used. |