- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
在计算机视觉和图像处理中,构建图像金字塔(Image Pyramid)是一种常用的技术,它生成一系列分辨率逐渐降低的图像副本。图像金字塔在很多应用中都非常有用,比如目标检测、特征匹配、尺度不变特征提取等。
图像金字塔的类型
- 高斯金字塔(Gaussian Pyramid):
- 通常用于生成不同尺度下的图像副本。
- 每一层金字塔都是前一层的低通滤波版本。
- 拉普拉斯金字塔(Laplacian Pyramid):
- 通常用于图像融合、图像压缩等。
- 每一层是相邻两层高斯金字塔之间的差异。
函数原型
函数构建图像的高斯金字塔。
该函数构造一个图像向量,并通过递归地应用 pyrDown 到之前构建的金字塔层来构建高斯金字塔,从 dst[0] == src 开始。
void cv::buildPyramid
(
InputArray src,
OutputArrayOfArrays dst,
int maxlevel,
int borderType = BORDER_DEFAULT
)
参数
- 参数src: 源图像。请参阅 pyrDown 的文档以获取支持的图像类型列表。
- 参数dst: 目的地向量,包含 maxlevel + 1 个与 src 同类型的图像。dst[0] 将与 src 相同。dst[1] 是金字塔的下一层,它是 src 的平滑和缩小版,依此类推。
- 参数maxlevel:最后一层(最小的一层)金字塔的 0 基索引。必须是非负数。
- 参数borderType:像素外推方法,参见 BorderTypes(不支持 BORDER_CONSTANT)
示例代码
#