20 OpenCV图像混合

图像混合

import cv2 
import numpy as np
import sys

panda1 = cv2.imread("panda.png") 
panda2 = cv2.imread("panda2.png") 

### generate Gaussian pyramind for first 

G = panda1.copy() 
gpk = [G]
for i in range(6):
    G = cv2.pyrDown(G) 
    gpk.append(G) 

### generate Gaussion pyramind for second 
G = panda2.copy() 
gpe = [G]
for i in range(6): 
    G = cv2.pyrDown(G) 
    gpe.append(G)
   
# generate Laplacian Pyramid for first 
lpk = [gpk[5]] 
for i in range(5, 0, -1): 
    GE = cv2.pyrUp(gpk[i]) 
    L = cv2.subtract(gpk[i-1], GE)
    lpk.append(L) 
 
# generate Laplacian in Pyramid for second 
lpe = [gpe[5]] 
for i in range(5, 0, -1): 
    GE = cv2.pyrUp(gpe[i])
    L = cv2.subtract(gpe[i-1], GE) 
    lpe.append(L)

# Now add left and right halves of image in each level 
LS = [] 
for la, lb in zip(lpk, lpe): 
    rows, cols, dpt = la.shape 
    ls = np.hstack((la[:, 0:int(cols/2)], lb[:, int(cols/2):]))
    LS.append(ls)
 
ls_ = LS[0] 
for i in range(1, 6):
    ls_ = cv2.pyrUp(ls_) 
    ls_ = cv2.add(ls_, LS[i]) 
    cv2.imshow("RESULT", ls_)
    
key = cv2.waitKey(0) 
cv2.destroyAllWindows()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w517565244live

您的支持是我坚持创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值