opencv 图像加法与图像融合的实现代码


Posted in Python onJuly 08, 2020

图像加法

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()

opencv 图像加法与图像融合的实现代码

图像融合

将2张或者2张以上的图像信息融合到一张图片上。
不同于图像相加,它需进过一系列算法处理。
如将两张相同但各有不同缺陷的图,融合成一张完美图,结合各自优点。

opencv 图像加法与图像融合的实现代码

图像加法:
结果图像=图像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()

opencv 图像加法与图像融合的实现代码

到此这篇关于opencv 图像加法与图像融合的实现代码的文章就介绍到这了,更多相关opencv 图像加法与图像融合内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python使用Socket(Https)Post登录百度的实现代码
May 18 Python
pytyon 带有重复的全排列
Aug 13 Python
python基础教程之数字处理(math)模块详解
Mar 25 Python
Python中asyncore的用法实例
Sep 29 Python
Python中super的用法实例
May 28 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
详解Java中一维、二维数组在内存中的结构
Feb 11 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
python使用pymysql模块操作MySQL
Jun 16 Python
opencv 图像轮廓的实现示例
Jul 08 #Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 #Python
用opencv给图片换背景色的示例代码
Jul 08 #Python
python文件及目录操作代码汇总
Jul 08 #Python
Python预测2020高考分数和录取情况
Jul 08 #Python
Python venv虚拟环境配置过程解析
Jul 08 #Python
Python如何实现自带HTTP文件传输服务
Jul 08 #Python
You might like
PHP中for与foreach的区别分析
2011/03/09 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
PHP如何使用Memcached
2016/04/05 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
js 通用订单代码
2013/12/23 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
2016/12/23 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
python检查指定文件是否存在的方法
2015/07/06 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
Django model select的多种用法详解
2019/07/16 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
天网面试题
2013/04/07 面试题
生产经理的自我评价分享
2013/11/07 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
社区维稳工作方案
2014/06/06 职场文书
护理专科学生自荐书
2014/07/05 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android