作用可以将一个patch很好的融合到目标图像中
目标检测:在目标检测任务中可用于增广图像,将缺陷融合到不同的背景图像中,增加训练集的样本
![融合效果](https://i-blog.csdnimg.cn/blog_migrate/3f38ecbf33e3a842dd636c5820f27cd5.png)
cv2.seamlessClone
output = cv2.seamlessClone(src, dst, mask, center, flags)
参数介绍
src 目标影像-----飞机
dst 背景图像-------天空
mask 目标影像上的mask,表示目标影像上哪些区域是感兴趣区域。
center 目标影像的中心在背景图像上的坐标!注意是目标影像的中心!
flags 选择融合的方式,目前有NORMAL_CLONE、MIXED_CLONE和MONOCHROME_TRANSFER三种方法。
output 输出图像
代码
import cv2
import numpy as np
im = cv2.imread("tree.jpg")
obj= cv2.imread("airplane.jpg")
# 创建一个白色的mask
mask = 255 * np.ones(obj.shape, obj.dtype)
width, height, channels = im.shape
center = (height/2, width/2)
normal_clone = cv2.seamlessClone(obj, im, mask, center, cv2.NORMAL_CLONE)
mixed_clone = cv2.seamlessClone(obj, im, mask, center, cv2.MIXED_CLONE)
# Write results
cv2.imwrite("opencv-normal-clone-example.jpg", normal_clone)
cv2.imwrite("opencv-mixed-clone-example.jpg", mixed_clone)