OpenCV按照权重叠加合成图片

现在有两张图片,一张是大象图src.jpg:

另外一张是热点图heat.jpg:

要求把热点热力图叠加到大象图上:

import cv2 as cv

if __name__ == '__main__':
    img1 = cv.imread('src.jpg')
    img2 = cv.imread('heat.jpg')

    # 热图变成和原图大小相同
    heatmap = cv.resize(src=img2, dsize=(img1.shape[1], img1.shape[0]))

    # 把热图处理成CV中的密度热力图样式
    heatmap = cv.applyColorMap(heatmap, cv.COLORMAP_JET)

    # 叠加
    # src1不透明。src2透明度0.9
    img_add = cv.addWeighted(src1=img1, alpha=1, src2=heatmap, beta=0.9, gamma=0)

    # 显示图
    cv.imshow('frame', img_add)
    cv.waitKey(0)

    # 保存图
    save_path = 'heatmap2.jpg'
    cv.imwrite(save_path, img_add)

最终合成新的图片:

发布了1029 篇原创文章 · 获赞 987 · 访问量 336万+

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/103630624