小编Met*_*tal的帖子

如何获得正确的alpha值以完美地混合两个图像?

我一直试图混合两个图像.我正在采用的当前方法是,我获得两个图像的重叠区域的坐标,并且仅在重叠区域中,在添加之前,我与0.5的硬编码α混合.所以基本上我只是从两个图像的重叠区域中取出每个像素的一半值,并添加它们.这并没有给我一个完美的混合,因为alpha值被硬编码为0.5.这是混合3张图片的结果:

如您所见,从一个图像到另一个图像的转换仍然可见.如何获得可以消除这种可见过渡的完美alpha值?或者没有这样的事情,我采取了错误的做法?

这是我目前正在进行混合的方式:

for i in range(3):
            base_img_warp[overlap_coords[0], overlap_coords[1], i] = base_img_warp[overlap_coords[0], overlap_coords[1],i]*0.5
            next_img_warp[overlap_coords[0], overlap_coords[1], i] = next_img_warp[overlap_coords[0], overlap_coords[1],i]*0.5
final_img = cv2.add(base_img_warp, next_img_warp)
Run Code Online (Sandbox Code Playgroud)

如果有人想试一试,这里有两个扭曲的图像,以及它们重叠区域的面具:http://imgur.com/a/9pOsQ

python opencv alphablending image-processing computer-vision

10
推荐指数
1
解决办法
1917
查看次数