2016-05-29 28 views
2

我拼接多个图像,我想改善它们之间的颜色转换。这里有两个图像:如何减少拼接图像之间的颜色差异以实现平滑的颜色过渡?

  1. http://imgur.com/nG5I0nr
  2. http://imgur.com/EZFzNeL

和这里的拼接图片:

正如你可能会看到,颜色过渡是极差。我想使它看起来像它们是相同的图像(或者至少接近)

的办法,我现在做的:

我第一次使用filter2D取出缝,然后获得掩码其中图像联接使用拉普拉斯变换,并使用该面膜之分,我不补绘像这样:

缝去除:

kernel = np.ones((5,5),np.float32)/25 
seam_removal = cv2.filter2D(data_map,-1,kernel) 

这里是我获得其中图像加入点的面具,并使用这个我做后修改扩张位:

但你可以在最终图像中看到的,完全不改善混合。

+0

最常见的方法可能是泊松混合(你可以看这里:http://www.learnopencv。/无缝克隆使用opencv-python-cpp /) –

回答

0

我不知道这是不是一个好主意,但我认为你可以使用Kmeans来“调整”图像的颜色。

首先,您将您的图像放入RGB

image= cv2.cvtColor(image, cv2.COLOR_BGR2RGB) 

,列的第一个图像与K均值算法,并找出了 “集群色”

clt = KMeans(n_clusters = 20) 
clt.fit(img1) 
colors = clt.cluster_centers_ 

第三,通过使用在步骤2中找到的簇颜色转换图像2中的颜色。您可以参考此tutorial

终于,只是将两个图像合并为一个。

我有第二种方法,那就是你可以将两个图像的音调改变成相同的音调。你可以看看here