OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
没有匹配项
枚举 | 函数
无缝克隆

详细说明

有用的链接

https://www.learnopencv.com/seamless-cloning-using-opencv-python-cpp

枚举

枚举  {
  cv::NORMAL_CLONE = 1 ,
  cv::MIXED_CLONE = 2 ,
  cv::MONOCHROME_TRANSFER = 3
}
 无缝克隆算法标志 更多...
 

函数

void cv::colorChange (InputArray src, InputArray mask, OutputArray dst, float red_mul=1.0f, float green_mul=1.0f, float blue_mul=1.0f)
 给定一张原始彩色图像,可以将该图像的两个不同颜色版本无缝混合。
 
void cv::illuminationChange (InputArray src, InputArray mask, OutputArray dst, float alpha=0.2f, float beta=0.4f)
 在选择区域内的梯度场中应用适当的非线性变换,然后通过泊松求解器进行积分,可以局部修改图像的明显光照。
 
void cv::seamlessClone (InputArray src, InputArray dst, InputArray mask, Point p, OutputArray blend, int flags)
 图像编辑任务涉及全局变化(颜色/强度校正、滤波、变形)或局部变化,涉及到手动选择的区域 (ROI),以无缝且轻松的方式进行编辑。变化的程度从轻微失真到通过新内容 [214] 完全替换。
 
void cv::textureFlattening (InputArray src, InputArray mask, OutputArray dst, float low_threshold=30, float high_threshold=45, int kernel_size=3)
 仅保留边缘位置的梯度,在与泊松解算器积分之前,会将所选区域的纹理冲走,使其内容呈扁平外观。此处使用 Canny 边缘检测器。
 

枚举类型文档

◆ 匿名枚举

匿名枚举

#include <opencv2/photo.hpp>

seamlessClone 算法标志

枚举器
NORMAL_CLONE 
Python: cv.NORMAL_CLONE

将具有复杂轮廓的对象插入到新背景时,该方法的效用得到充分体现

MIXED_CLONE 
Python: cv.MIXED_CLONE

经典方法,基于颜色的选择和 alpha 蒙版可能十分耗时,并且会经常留有令人不快的晕圈。即使与原始图像取平均,无缝克隆也不能很好地发挥作用。基于松散选择的混合无缝克隆证明是非常有效的。

MONOCHROME_TRANSFER 
Python: cv.MONOCHROME_TRANSFER

单色转移允许用户轻松地用备用特征替换某个对象的特定特征。

函数文档

◆ 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 
)
Python
cv.colorChange(src, mask[, dst[, red_mul[, green_mul[, blue_mul]]]]) -> dst

#include <opencv2/photo.hpp>

给定一张原始彩色图像,可以将该图像的两个不同颜色版本无缝混合。

参数
src8 位 3 通道输入图像。
mask8 位 1 或 3 通道输入图像。
dst与 src 相同大小和类型的输出图像。
red_mulR 通道乘法因子。
green_mulG 通道乘法因子。
blue_mulB 通道乘法因子。

乘法因子介于 .5 至 2.5 之间。

◆ illuminationChange()

void cv::illuminationChange ( InputArray  src,
InputArray  mask,
OutputArray  dst,
float  alpha = 0.2f,
float  beta = 0.4f 
)
Python
cv.illuminationChange(src, mask[, dst[, alpha[, beta]]]) -> dst

#include <opencv2/photo.hpp>

在选择区域内的梯度场中应用适当的非线性变换,然后通过泊松求解器进行积分,可以局部修改图像的明显光照。

参数
src8 位 3 通道输入图像。
mask8 位 1 或 3 通道输入图像。
dst与 src 相同大小和类型的输出图像。
alpha值介于 0-2 之间。
beta值介于 0-2 之间。

这对于突出曝光不足的前景对象或减少镜面反射很有用。

◆ seamlessClone()

void cv::seamlessClone ( InputArray  src,
InputArray  dst,
InputArray  mask,
Point  p,
OutputArray  blend,
int  flags 
)
Python
cv.seamlessClone(src,dst,mask,p,flags[, blend]) -> blend

#include <opencv2/photo.hpp>

图像编辑任务涉及全局变化(颜色/强度校正、滤波、变形)或局部变化,涉及到手动选择的区域 (ROI),以无缝且轻松的方式进行编辑。变化的程度从轻微失真到通过新内容 [214] 完全替换。

参数
src8 位 3 通道输入图像。
dst8 位 3 通道输入图像。
mask8 位 1 或 3 通道输入图像。
p对象放置在 dst 图像中的点。
blend具有与 dst 相同大小和类型的输出图像。
flags克隆方法可以是 cv::NORMAL_CLONEcv::MIXED_CLONEcv::MONOCHROME_TRANSFER

◆ textureFlattening()

void cv::textureFlattening ( InputArray  src,
InputArray  mask,
OutputArray  dst,
float  low_threshold = 30
float  high_threshold = 45
int  kernel_size = 3 
)
Python
cv.textureFlattening(src,mask[, dst[, low_threshold[, high_threshold[, kernel_size]]]]) -> dst

#include <opencv2/photo.hpp>

仅保留边缘位置的梯度,在与泊松解算器积分之前,会将所选区域的纹理冲走,使其内容呈扁平外观。此处使用 Canny 边缘检测器。

参数
src8 位 3 通道输入图像。
mask8 位 1 或 3 通道输入图像。
dst与 src 相同大小和类型的输出图像。
low_threshold范围为 0 至 100。
high_threshold值 > 100。
kernel_size使用 Sobel 核的大小。
注意
该算法假设源图像的颜色接近目标图像的颜色。这意味着当颜色不匹配时,源图像颜色会向目标图像的颜色调色。