openCV实现图像融合的示例代码
作者:山居秋暝LS 发布时间:2022-05-20 03:28:16
标签: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()
来源:https://blog.csdn.net/qq_35732321/article/details/123520009
0
投稿
猜你喜欢
- 从PDF读取文本内容和从已经有的文档生成新的PDF。需要用到的模块是PyPDF2.mstamy2/PyPDF2: A utility to
- 如下所示:fig.tight_layout()#调整整体空白 plt.subplots_adjust(wspace =0, hspace =
- 假设有一个可迭代对象,现在想要对它内部的元素进行排序,我们一般会使用内置函数 sorted,举个例子:data = (3
- 我就废话不多说了,大家还是看代码吧! import PyPDF2 import repdf_file = open('xxx.pdf
- 1、mysql的limit关键字 (DAO)select * from tablename limit startPoint, number
- 一 导入 pymongofrom pymongo import MongoClient二 连接服务器 端口号 27017连接MongoDB连
- 不说什么,先上代码这里先求解形如的微分方程1.欧拉法def eluer(rangee,h,fun,x0,y0):
- 一、pyc文件我们开发一个python脚本,文件的后缀为.py。如果运行这个py文件,Python内部会先将源码文件(.py文件)编译成字节
- 本文实例讲述了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法。分享给大家供大家参考。具体分析如下:通过这
- 1.sort()方法sort()是列表的方法,修改原列表使得它按照大小排序,没有返回值,返回NoneIn [90]: x = [4, 6,
- 现在Web页面的交互方式越来越多样化,其中拖放页面元素也是一种很常见的操作。在这类操作当中有两个主要问题需要解决,一个是事件的注册方式,一般
- 一、事件捕捉(Event Capture)的实现问题首先在说这件事前,先感谢一下Realazy。 W3C DOM Level2的事
- sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdat
- 导语新的一年迎来了元宵节,元宵佳节在陪伴家人的同时,自然也少不了赏花灯,猜灯谜的项目。当然,受到疫情的影响,许多地方今年无法出门赏花灯,猜灯
- 本文实例讲述了php的RSA加密解密算法原理与用法。分享给大家供大家参考,具体如下:最近因为工作的需要,要倒腾支付宝支付相关的知识,因为支付
- 使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一
- Phar是什么在百度中得到介绍是这样的:在软件中,PHAR(PHP归档)文件是一种打包格式,通过将许多PHP代码文件和其他资源(例如图像,样
- 本文实例讲述了python获取文件版本信息、公司名和产品名的方法,分享给大家供大家参考。具体如下:该python代码可得到文件版本信息、公司
- 要想在不宽裕的页面展现丰富的内容,现在通用的做法使用tab,在一块区域通过tab切换来更换该区域的内容。这篇文章分析了tab设计很在理,今天
- 要是XHTML与CSS能面向对象。。太阳应该从北边升起了。但是,凡事都应该带着OO的思想来看问题,也勉强可以凑数拉。其实,早在零几年就有人提