脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - opencv 图像加法与图像融合的实现代码

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

2020-07-09 08:10总裁余 Python

这篇文章主要介绍了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)进行运算。

?
1
2
3
4
5
6
7
8
9
10
11
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.实际中,我们一般设为不等

?
1
2
3
4
5
6
7
8
9
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 图像加法与图像融合内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/kobeyu652453/article/details/107123763

延伸 · 阅读

精彩推荐