opencv 图像加法与图像融合的实现代码
作者:总裁余 发布时间:2021-07-20 14:57:30
标签:opencv,图像加法,图像融合
图像加法
1.使用Numpy加法
运算方式:结果=图像1+图像2
原理:图像数据格式为unit8
8位二进制表示范围是0到255。
二进制相加
1.不超过255的,如100+58=158
2.两数相加可能超过255,超过255的取模运算
如255+58=(255+58)%255=58
2.使用opencv加法
方法:结果=cv2.add(图像1,图像2)
饱和运算:
1.如果 两数相加小于255,100+58=158
2.两数相加可能超过255,值取255.255+58=255
算法比较
注意参与运算的两个图比较大小 格式一样。程序无法对不同尺寸和格式(如PNG,JPG)进行运算。
import cv2
import numpy as np
a=cv2.imread('lenacolor.png',flags=cv2.IMREAD_UNCHANGED)#cv2.IMREAD_UNCHANGED 未改变
b = a
result1 = a + b
result2 = cv2.add(a, b)
cv2.imshow("original", a)
cv2.imshow("result1", result1)
cv2.imshow("result2", result2)
cv2.waitKey(0)
cv2.destroyAllWindows()
图像融合
将2张或者2张以上的图像信息融合到一张图片上。
不同于图像相加,它需进过一系列算法处理。
如将两张相同但各有不同缺陷的图,融合成一张完美图,结合各自优点。
图像加法:
结果图像=图像1+图像2
图像融合:
结果图像=图像1x系数1+图像2x系数2+亮度调节量
方法:函数addWeighted
cv2.addWeighted(图像1,系数1,图像2,系数2,亮度调节量)
算例
算例中系数为1,1.实际中,我们一般设为不等
import cv2
b=cv2.imread('lena.bmp')#cv2.IMREAD_UNCHANGED 未改变
a=cv2.imread("boat.bmp")
result=cv2.addWeighted(a,1,b,1,0)
cv2.imshow("boat",a)
cv2.imshow("lena",b)
cv2.imshow("result",result)
cv2.waitKey()
cv2.destroyAllWindows()
来源:https://blog.csdn.net/kobeyu652453/article/details/107123763


猜你喜欢
- python根据字典的键来删除元素的方法:可以利用pop()方法来进行删除。pop()方法可以删除字典定键key及对应的值,并返回被删除的值
- 从Access数据库中选取记录有件最令人丧气的事情,它们是以怎样的顺序输入到数据库内就按照怎样的顺序出来。就算你在Access环境内采用So
- 本文实例讲述了Python sqlite3事务处理方法。分享给大家供大家参考,具体如下:sqlite3事务总结:在connect()中不传入
- Access数据库,同时操作大量记录(9500条以上)时报错。错误提示:Microsoft JET Database Engine 错误 &
- 专家解答 通过查询任何数据库中的三个系统表,你可以获得每个表的每一个字段的默认值。下面是这个核心查询。它返回分配给当前数据库中每个用户表的默
- amend翻译成中文:修改1.修改还未push的提交//修改最近一次提交git commit --amend//进入注释页面,进行修改//修
- 以下就重复记录删除的问题作一阐述。 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如N
- 今天我遇到一个问题,MySQL企业版备份引起I/O子系统负载过大,应用响应缓慢,导致系统不可用。所以我想限制mysqlbackup的进程,使
- HTTP请求是无状态的,我们通常会使用cookie或session对其进行状态保持,cookie存储在客户端,容易被用户误删,安全性不高,s
- 前言本文主要介绍的是关于python 3用BeautifulSoup抓取div标签的方法示例,分享出来供大家参考学习,下面来看看详细的介绍:
- undetected_chromedriver是专门针对浏览器识别做出来的拓展直接使用undetected_chromedriver第三方库
- 在写sql的时候,由于有部分语句别名不能调用,百度了一下原因,原来是由于别名机制不同引起的。为了避免下一次再犯同样的错误,今天把网上找到资料
- 第一种方法import sysimport unicodedatas = "Lǐ Zhōu Wú"remap = { #
- 前言本文介绍如何使用Python制作一个简单的猜数字游戏。游戏规则玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示玩家所
- 本文实例讲述了Python实现的knn算法。分享给大家供大家参考,具体如下:代码参考机器学习实战那本书:机器学习实战 (Peter Harr
- 在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread
- 代码如下: 代码如下:///<summary> /// 将两个列不同的DataTable合并成一个新的DataTab
- 实例一--爬取页面import requestsurl="https//itemjd.com/2646846.html"
- Scrapy批量运行爬虫文件的两种方法:1、使用CrawProcess实现https://doc.scrapy.org/en/latest/
- 本教程为大家分享了Fly Bird小游戏的制作流程,供大家参考,具体内容如下1.分析页面结构,理清需求和功能游戏有三个界面,分别是开始界面,