OpenCV之seamlessClone泊松融合及mask⽬标⼏何中⼼的计算
⼀张图像作为背景,另外⼀副图像作为⽬标,要叠在背景上,为了融合⼊背景,可以使⽤泊松融合。
⼀,泊松融合
output = cv2.seamlessClone(src, dst, mask, center, flags)
1.src ⽬标影像。
2.dst 背景图像。
3.mask ⽬标影像上的mask,表⽰⽬标影像上那些区域是感兴趣区域。如果只对飞机感兴趣,那么mask上就只有飞机所在的区域。
< ⽬标影像的中⼼在背景图像上的坐标!注意是⽬标影像的中⼼!
5.flags 选择融合的⽅式,⽬前有NORMAL_CLONE、MIXED_CLONE和MONOCHROME_TRANSFER三种⽅法。
6.output 输出图像
⼆,mask⽬标影像的中⼼如何确定
可以先到mask的⽬标轮廓,再到轮廓的外切矩形,再计算出中⼼点。
cnts = cv2.findContours(gray, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0]
#使⽤外切矩形法求得⼏何中点
clonex, y, w, h = cv2.boundingRect(cnts[0])
cX = x + w//2
cY = y + h//2
center =(cX, cY)
泊松融合之尼古拉斯赵四