import cv2
import numpy as np
DEPTH =3
imgA = cv2.imread('apple.jpg')
imgB = cv2.imread('orange.jpg')
gA=[imgA]
lpA=[]
gB=[imgB]
lpB=[]
for i in range(DEPTH):
tempA1 = cv2.pyrDown(gA[i])
tempB1 = cv2.pyrDown(gB[i])
gA.append(tempA1)
gB.append(tempB1)
lA = cv2.subtract(gA[i] ,cv2.pyrUp(tempA1))
lB = cv2.subtract(gB[i] ,cv2.pyrUp(tempB1))
lpA.append(lA)
lpB.append(lB)
lpA.append(gA[-1])
lpB.append(gB[-1])
lpAB = []#将拉布拉斯金字塔的每一层拼接起来
for la,lb in zip(lpA,lpB):
rows,cols,dpt = la.shape
ls = np.hstack((la[:,0:cols//2], lb[:,cols//2:]))
lpAB.append(ls)
tempA2 =lpAB[-1]
for i in range(DEPTH,0,-1):
tempA2 = cv2.pyrUp(tempA2)
tempA2 = cv2.add(tempA2,lpAB[i-1])
cv2.imwrite('apple1.jpg',tempA2)
opencv——利用图像金字塔合成图片
最新推荐文章于 2024-10-07 23:32:36 发布
本文介绍了一种基于拉普拉斯金字塔的图像融合技术,该技术通过分解输入图像为多个分辨率层,并在每一层上进行融合处理,最后重构得到融合后的图像。
2906

被折叠的 条评论
为什么被折叠?



