3.2 图像融合

一、图像融合介绍

二、以不同的权重的方式对图像进行融合

 

 

 

一、图像融合介绍

图像融合就是把两张图像相加融合成一张新的图像。

图像融合虽然也是图像相加,但是在进行图像融合的时候,往往要融合一些算法进去,比如:

 

3.2 图像融合_第1张图片

 

左边和右边的lena都有一点缺陷。我们希望得到右边清晰的图像。这个过程就是图像融合。

所以图像融合不是简单的相加,而是要进行一些列的算法处理。

 

 

二、以不同的权重的方式对图像进行融合

跟图像加法一样,用两种方式。第一种方式是使用numpy库;第二种方式是使用opencv库函数。

两种加法的效果不同。

 

 

方式一:

 

 

方式二:在OpenCV中,也专门提供了一个函数addWeighted()。主要参数是5个。

3.2 图像融合_第2张图片

 

 

 

例1:图像融合:使用cv库方式

'''
图像融合:使用cv库方式
'''

import cv2
import numpy as np

image1 = cv2.imread("image\\add\\boat.bmp")
image2 = cv2.imread("image\\add\\lena.bmp")


result = cv2.addWeighted(image1,1,image2,1,0)

 

cv2.imshow("original1",image1)
cv2.imshow("original2",image2)
cv2.imshow("result2", result)

 

cv2.waitKey()
cv2.destroyAllWindows()

结果:

 

 

 

 

 

例2:不同权重的影响。

'''
图像融合:使用cv库方式
'''

import cv2
import numpy as np

image1 = cv2.imread("image\\add\\boat.bmp")
image2 = cv2.imread("image\\add\\lena.bmp")

 

result1 = cv2.addWeighted(image1,0.3,image2,0.7,0)
result2 = cv2.addWeighted(image1,0.7,image2,0.3,0)

 

cv2.imshow("result1", result1)
cv2.imshow("result2", result2)

 

cv2.waitKey()
cv2.destroyAllWindows()

结果:

 

 

 

 

 

例3:图像融合:numpy方式与cv库方式对比

'''
图像融合:numpy方式与cv库方式对比
'''

import cv2
import numpy as np

image1 = cv2.imread("image\\add\\boat.bmp")
image2 = cv2.imread("image\\add\\lena.bmp")

 

result1 = image1 * 1 + image2 * 1 + 0                            #方式一
result2 = cv2.addWeighted(image1,1,image2,1,0)         #方式二

 

cv2.imshow("result1", result1)
cv2.imshow("result2", result2)

cv2.waitKey()
cv2.destroyAllWindows()

结果:

3.2 图像融合_第3张图片

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(10,OpenCV图像处理)