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的基础应用。