【Python+OpenCV入门学习】十七、图像金字塔

18 篇文章 3 订阅

本篇文章介绍图像金字塔处理,某些时候我们需要一组不同分辨率大小的相同图像,这一组图像按金字塔方式堆叠,底部具有最高分辨率图像而顶部具有最低分辨率图像。

主要学习cv.pyrUp(),cv.pyrDown()函数的使用。

环境:Windows 7(64)   Python 3.6    OpenCV 3.4.2

一、图像金字塔

1.1 相关函数介绍

pyrUp()函数形式如下:

dst = cv.pyrUp( src[, dst[, dstsize[, borderType]]] )

功能:图像金字塔向上采样,图像尺寸加倍(向上是针对尺寸而言的,刚好和金字塔方向相反,注意别搞混了)。

参数:

src:输入图像。

dst:输出图像。

dstsize:输出图像大小

borderType:边界填充类型

pyrDown()函数形式如下:

dst	= cv.pyrDown( src[, dst[, dstsize[, borderType]]] )

功能:图像金字塔向下采样,图像尺寸减半(向下是针对尺寸而言的,刚好和金字塔方向相反,注意别搞混了)。

参数:

src:输入图像。

dst:输出图像。

dstsize:输出图像大小

borderType:边界填充类型

1.2 编程测试

先对原始图像进行向下金字塔,然后对其进行向上金字塔,代码如下:

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

img = cv.imread('1.png')

#向下金字塔
DstpyrDown = cv.pyrDown(img)
#向上金字塔
DstpyrUp = cv.pyrUp(DstpyrDown)

#显示
cv.imshow("src img", img)
cv.imshow("pyrDown", DstpyrDown)
cv.imshow("DstpyrUp", DstpyrUp)

代码运行结果图如下所示。可以看出对原始图像进行向下采样,再向上采样后的图像相较于原始图像来说,变模糊了,这是因为对图像向下采样会丢失信息。此外可知两种操作不是互逆操作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值