处理x光机数据时,想通过目标图贴上背景的方式,加入更多丰富背景且同时均衡类别数量;使用泊松融合处理;
1.泊松融合代码
"""
泊松融合的demo
"""
import cv2
import numpy as np
if __name__=="__main__":
# Read images : src image will be cloned into dst
obj = cv2.imread("./obj_img_lighter_307.jpg")
dst = cv2.imread("./-nfs-X光机-images-训练集-2019年混合数据-2020-old3-180502_141851_00015428.jpg")
# Create an all white mask
mask = 255 * np.ones(obj.shape, obj.dtype)
# The location of the center of the src in the dst
width, height, channels = dst.shape
center = (int(height/2), int(width/2))
# Seamlessly clone src into dst and put the results in output
normal_clone = cv2.seamlessClone(obj, dst, mask, center, cv2.NORMAL_CLONE)
mixed_clone = cv2.seamlessClone(obj, dst, 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)
背景图片:
目标图片:
泊松融合(NORMAL_CLONE)结果:
泊松融合(MIXED_CLONE)结果:
大批量使用时报错:
完整报错
放大部分:
不知道是什么原因,图像尺寸都进行了核实,依然出错;
同事说也遇到过类似问题,找不到原因,然后他就硬生生的resize大了背景图;