我正在拼接多个图像,我想改善它们之间的颜色过渡。以下是两张图片:
这是缝合的图像:
正如您可能看到的,颜色转变非常差。我想让它看起来像是相同的图像(或至少接近它)
我目前正在这样做:
我首先使用filter2D
删除接缝,然后使用拉普拉斯变换获取图像连接点的蒙版,并使用此蒙版,我这样修复:
去除缝线:
kernel = np.ones((5,5),np.float32)/25
seam_removal = cv2.filter2D(data_map,-1,kernel)
这是我获得的图像连接点的掩模,使用这个我做了一些扩张后的修复:
但是正如您在最终图像中看到的那样,这根本不会改善混合。
答案 0 :(得分:0)
我不知道这是不是一个好主意,但我认为你可以使用Kmeans来“调整”图像的颜色。
首先,您将图片转换为 RGB
image= cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
第二次,使用 Kmeans 算法训练第一张图片并找出“群集颜色”
clt = KMeans(n_clusters = 20)
clt.fit(img1)
colors = clt.cluster_centers_
第三次,使用在步骤2中找到的群集颜色来转换图像2中的颜色。您可以参考此tutorial。
最后,只需将两张图片合并为一张。
我有第二种方法,那就是你可以将两种图像色调改变成相同的色调。您可以查看 here 。