OpenCv 入门 -- 使用图像金字塔合并图像

OpenCv 入门

OpenCv 入门 -- 使用图像金字塔合并图像 @ Fu Xianjun. All Rights Reserved.


前言

OpenCV是一个跨平台计算机视觉库,用C++语言编写,用于图像处理、分析。本文将讲解如何使用使用图像金字塔合并图像。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210630203017484.png#pic_center) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210630203017466.png#pic_center)

一、导包

日常导包:

import cv2
import numpy as np

二、处理图像

a = cv2.imread("apple.png")#读取苹果图片
a = cv2.resize(a,(512,512))#调整图片大小
cv2.imshow("a",a)

b = cv2.imread("orange.png")#读取橘子图片
b = cv2.resize(b,(512,512))#调正图片大小
cv2.imshow("b",b)

三、显示图片

g = a.copy()
gpa = [g]
for i in range(5)
    g = cv2.pyrDown(g)
    gpa.append(g)

g = b.copy()
gpb = [g]
for i in range(5):
    g = cv2.pyrDown(g)
    gpb.append(g)

lpa = [gpa[5]]
for i in range(5,0,-1):
    ge = cv2.pyrUp(gpa[i])
    l = cv2.subtract(gpa[i-1],ge)
    lpa.append(l)
    
lpb = [gpb[5]]
for i in range(5,0,-1):
    ge = cv2.pyrUp(gpb[i])
    l = cv2.subtract(gpb[i-1],ge)
    lpb.append(l)
#合并
Ls = []
for la,lb in zip(lpa,lpb):
    h,w,c = la.shape
    ls = np.hstack((la[:,0:w//2],lb[:,w//2:w]))
    Ls.append(ls)
#重新构建图像
ls_ = Ls[0]
for i in range(1,6):
    ls_ = cv2.pyrUp(ls_)
    ls_ = cv2.add(ls_,Ls[i])

四、结果展示

cv2.imshow("ls",ls_) 
cv2.waitKey()
cv2.destroyAllWindows()    

在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了如何使用使用图像金字塔合并图像。及OpenCv的基础应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值