openCV实现图像融合的示例代码

 更新时间:2022年03月28日 10:47:25   作者:山居秋暝LS  
图像融合是两幅图片叠加在一起,本文主要介绍了openCV实现图像融合的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1. 概念

图像融合: 两幅图片叠加在一起,形成前景背景的效果。

2. 流程

(1)读入要融合的两幅图片。
(2)把两幅图片调整到统一大小,方便下一步叠加。
(3)对两幅图片按照一定的权重相加。
(4)显示图片。img1,img2 --> resize --> cv2.addWeighted()–>show

addWeighted方法:

函数原型:

void addWeighted(InputArray src1, double alpha, InputArray src2,double beta, double gamma, OutputArray dst, int dtype=-1);

这个函数实现对输入的两幅图像进行线性系数的加权和。

第一个参数:src1,表示进行加权操作的第一个图像对象

第二个参数:double型的alpha,表示第一个图像的加权系数

第三个参数:src2,表示进行加权操作的第二个图像对象

第四个参数:double型的beta,表示第二个图像的加权系数,很多情况下,有关系 alpha+beta=1.0

第五个参数:double型的gamma,表示一个 作用到加权和后的图像上的标量,可以理解为加权和后的图像的偏移量

第六个参数:dst,表示两个图像加权和后的图像,尺寸和图像类型与src1和src2相同

3 代码

'''
图像融合(对图像加权):img1,img2 --> resize --> cv2.addWeighted() --> show
'''
import cv2
import matplotlib.pyplot as plt

# 1 read
fg = cv2.imread('fg.png', 1)
bg = cv2.imread('bg.png', 1)
fg = cv2.cvtColor(fg,cv2.COLOR_BGR2RGB)
bg = cv2.cvtColor(bg,cv2.COLOR_BGR2RGB)

# 2 resize
fg = cv2.resize(fg,(850,550),interpolation=cv2.INTER_AREA)
bg = cv2.resize(bg,(850,550),interpolation=cv2.INTER_AREA)

# 3 addWeighted
w1 = 0.8
w2 = 0.2
re = cv2.addWeighted(fg,w1,bg,w2,0)

# 4 show
plt.subplot(131)
plt.imshow(fg)
plt.title('fg')

plt.subplot(132)
plt.imshow(bg)
plt.title('bg')

plt.subplot(133)
plt.imshow(re)
plt.title('re')

plt.show()

到此这篇关于openCV实现图像融合的示例代码的文章就介绍到这了,更多相关openCV 图像融合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现针对中文排序的方法

    Python实现针对中文排序的方法

    这篇文章主要介绍了Python实现针对中文排序的方法,结合实例形式较为详细的分析了Python针对中文进行排序操作出现的问题与相关处理技巧,需要的朋友可以参考下
    2017-05-05
  • python读取mat文件中的struct问题

    python读取mat文件中的struct问题

    这篇文章主要介绍了python读取mat文件中的struct问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • nlp计数法应用于PTB数据集示例详解

    nlp计数法应用于PTB数据集示例详解

    这篇文章主要为大家介绍了nlp计数法应用于PTB数据集示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Python实现将DNA序列存储为tfr文件并读取流程介绍

    Python实现将DNA序列存储为tfr文件并读取流程介绍

    为什么要在实验过程中存储文件,因为有些算法的内容存在一些重复计算的步骤,这些步骤往往消耗很大一部分时间,在有大量参数的情况时,需要在多次不同参数的情况下重复试验,因此可以考虑将一些不涉及参数运算的部分结果存入文件中
    2022-09-09
  • Python利用itchat对微信中好友数据实现简单分析的方法

    Python利用itchat对微信中好友数据实现简单分析的方法

    Python 热度一直很高,我感觉这就是得益于拥有大量的包资源,极大的方便了开发人员的需求。下面这篇文章主要给大家介绍了关于Python利用itchat实现对微信中好友数据进行简单分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-11-11
  • 用python写asp详细讲解

    用python写asp详细讲解

    本文介绍使用python写asp程序代码,大家参考使用吧
    2013-12-12
  • python——全排列数的生成方式

    python——全排列数的生成方式

    今天小编就为大家分享一篇python——全排列数的生成方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python使用自带的ConfigParser模块读写ini配置文件

    Python使用自带的ConfigParser模块读写ini配置文件

    这篇文章主要介绍了Python使用自带的ConfigParser模块读写ini配置文件的方法,ConfigParser中包含了对ini的节section的一些基本操作,使得改写ini时非常简便,需要的朋友可以参考下
    2016-06-06
  • Python实现读取Properties配置文件的方法

    Python实现读取Properties配置文件的方法

    这篇文章主要介绍了Python实现读取Properties配置文件的方法,结合实例形式分析了Python读取Properties配置文件类的定义与使用相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python面向对象基础入门之编码细节与注意事项

    Python面向对象基础入门之编码细节与注意事项

    这篇文章主要给大家介绍了关于Python面向对象基础入门之编码细节与注意事项的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2018-12-12

最新评论