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 [PM03] . | |
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. | |
Detailed Description
Enumeration Type Documentation
◆ anonymous enum
anonymous enum |
#include <opencv2/photo.hpp>
seamlessClone algorithm flags
Function Documentation
◆ colorChange()
void cv::colorChange | ( | InputArray | src, |
InputArray | mask, | ||
OutputArray | dst, | ||
float | red_mul = 1.0f , |
||
float | green_mul = 1.0f , |
||
float | blue_mul = 1.0f |
||
) |
#include <opencv2/photo.hpp>
Given an original color image, two differently colored versions of this image can be mixed seamlessly.
- Parameters
-
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.
◆ illuminationChange()
void cv::illuminationChange | ( | InputArray | src, |
InputArray | mask, | ||
OutputArray | dst, | ||
float | alpha = 0.2f , |
||
float | beta = 0.4f |
||
) |
#include <opencv2/photo.hpp>
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.
- Parameters
-
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.
◆ seamlessClone()
void cv::seamlessClone | ( | InputArray | src, |
InputArray | dst, | ||
InputArray | mask, | ||
Point | p, | ||
OutputArray | blend, | ||
int | flags | ||
) |
#include <opencv2/photo.hpp>
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] .
- Parameters
-
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
◆ textureFlattening()
void cv::textureFlattening | ( | InputArray | src, |
InputArray | mask, | ||
OutputArray | dst, | ||
float | low_threshold = 30 , |
||
float | high_threshold = 45 , |
||
int | kernel_size = 3 |
||
) |
#include <opencv2/photo.hpp>
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.
- Parameters
-
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.
- Note
- The algorithm assumes that the color of the source image is close to that of the destination. This assumption means that when the colors don't match, the source image color gets tinted toward the color of the destination image.