zoukankan      html  css  js  c++  java
  • python-opencv-图像的融合

    图像的融合本质上也是图像间的加法操作,只是与图像叠加不同的是,图像叠加是两个图像之间的简单直接相加,而图像融合则是按权重分配进行相加。我们假设待融合的两个图像为image1和image2,其中image1权重为a,image2权重为b,那么融合后的图像dst=image1*a+image2*b。

    在OpenCV中,我们使用addWeighted(src1,alpha,src2,beta,gamma,dst=None,dtype=None)函数实现图像的融合

    import cv2
    
    img = cv2.imread("500x400.jpg",1)
    img1 = cv2.imread("tuzi500x400.jpg",1)
    cv2.imshow('img',img)
    cv2.imshow('img1',img1)
    dst=cv2.addWeighted(img,0.5, img1,0.5,0)  #图像融合
    '''
    参数1 参数3 待叠加的两个图像,两个图像的大小,通道数必须一致
    参数2 参数4 分别是两个图像的权重
    参数5 gamma:必选参数。两个图像融合后添加的数值。总和等于255以上就是纯白色了。注意不要设置太大,不然图片会一片白。
    '''
    cv2.imshow('dst',dst)
    cv2.waitKey()

    虽然权重的设置并没有限制,但我们在使用时一般将两个权重和设为1。另外,当两个权重都设置为1时,其实就可以看成是图像的叠加。

    效果图:

    需要注意的是,融合后的图像我们可以设置比原图像小,但绝不能超过原图像的宽高。 

  • 相关阅读:
    学会企业分析
    股票暴跌,收益会更高
    富人?中产?
    学会看财务报表
    财务自由三大核心工具
    理财工具分类
    webpack构建速度和体积极限优化
    将搜索时间设置为23:59:59
    省市区县街道四级联动下拉菜单
    用原生JS实现多张图片上传及预览功能(兼容IE8)
  • 原文地址:https://www.cnblogs.com/liming19680104/p/12227922.html
Copyright © 2011-2022 走看看