目录
渐变融合(Feathering)
沿着轮廓线模糊:
代码:
泊松融合 效果比较好:
效果图:
源代码:
泊松融合,mask不扩大试验
效果图:
源代码:
两个图像根据mask拼接时,边缘有色差
渐变融合(Feathering)
import numpy as np
import cv2
# 假设 img1, img2 是两个待拼接的图像,mask 是拼接的掩码
def feathering(img1, img2, mask, feather_width=10):
# 创建一个渐变 mask
gradient = np.zeros_like(mask, dtype=np.float32)
rows, cols = mask.shape[:2]
# 生成渐变效果
for i in range(rows):
for j in range(cols):
# 计算当前点与边界的距离
dist = min(i, j, rows-i-1, cols-j-1)
gradient[i, j] = max(0, 1 - dist / feather_width)
# 对图像进行加权平均
blended = cv2.addWeighted(img1, gradient, img2, 1 - gradient, 0)
return blended