《OpenCV轻松入门:面向Python》读书笔记
作者:李立宗
出版社:电子工业出版社
出版时间:2019-05
第11章 图像金字塔
11.2 pyrDown函数及使用
1) pyrDown函数
OpenCV提供了函数cv2.pyrDown(),用于实现图像高斯金字塔操作中的向下采样,其语法形式为:
dst = cv2.pyrDown( src[, dstsize[, borderType]] )
其中:
- dst为目标图像。
- src为原始图像。
- dstsize为目标图像的大小。
- borderType为边界类型,默认值为BORDER_DEFAULT。
默认情况下,输出图像的大小为Size((src.cols+1)/2, (src.rows+1)/2)。在任何情况下,图像尺寸必须满足如下条件:
|dst. width∗2-src. cols|≤2
|dst. height∗2-src. rows|≤2
cv2.pyrDown()函数首先对原始图像进行高斯滤波变换,以获取原始图像的近似图像。比如,高斯滤波变换所使用的核(高斯滤波器)为:
在获取近似图像后,该函数通过抛弃偶数行和偶数列来实现向下采样。
2) 示例
【例11.1】使用函数cv2.pyrDown()对一幅图像进行向下采样
import cv2
o=cv2.imread("lena.bmp",cv2.IMREAD_GRAYSCALE)
r1=cv2.pyrDown(o)
r2=cv2.pyrDown(r1)
r3=cv2.pyrDown(r2)
print("o.shape=",o.shape)
print("r1.shape=",r1.shape)
print("r2.shape=",r2.shape)
print("r3.shape=",r3.shape)
cv2.imshow("original",o)
cv2.imshow("r1",r1)
cv2.imshow("r2",r2)
cv2.imshow("r3",r3)
cv2.waitKey()
cv2.destroyAllWindows()
3) 结果
图11-5 【例11.1】程序的运行结果可以看到,经过向下采样后,图像的分辨率会变低。
网友评论