当前位置:   article > 正文

OpenCV实现无缝融合_opencv 接缝线一定区域羽化融合

opencv 接缝线一定区域羽化融合

OpenCV实现无缝融合

1 原理

泊松图像编辑(Poisson Image Editing)的核心观点是图像融合时,用色彩梯度代替色彩强度可以产生更真实的效果。

经无缝融合(seamless cloning)后,融合图像的蒙板区域内色彩强度与源图像的蒙板区域色彩强度不一致;但融合图像的蒙板区域内色彩梯度与源图像的蒙板区域色彩梯度基本相同。此外,融合图像的在蒙板区域边界处色彩强度与目标图像的色彩强度相同

参考文献:Rez P, Gangnet M, Blake A. Poisson image editing.[J]. Acm Transactions on Graphics, 2003, 22(3):313-318.

  • seamlessClone(src, dst, mask, center, flags)

    • 常规融合(Normal Cloning)

    源图像的纹理(梯度)保留在融合区域

    • 混合融合(Mixed Cloning)

    融合区域的纹理(梯度)由源图像和目标图像共同决定。混合融合会选择源图像和目标图像之中的主要纹理(梯度),因此不会产生平滑区域

    • 单色变换(Monochrome Transfer)

    保留源图像的纹理(梯度),丢弃其色彩信息,使得融合区域色彩与目标图像一致,可以用来进行皮肤质地填充。

output = cv2.seamlessClone(src, dst, mask, center, flags)
  • 1

2 实例(Learn OpenCV)

%matplotlib inline
import matplotlib.pyplot as plt
import math

def plotImgs(idxFig, lstImgs, figsize=(12, 24)):

    fig = plt.figure(idxFig, figsize=figsize)
    fig.clf()

    intNumImgs = len(lstImgs)
    intNumCols = int(math.sqrt(intNumImgs))
    intNumRows = int(math.ceil(intNumImgs / intNumCols))
    
    idxImg = 0
    for idxRow in <
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/81331
推荐阅读
相关标签
  

闽ICP备14008679号