一、基本概念
在 OpenCV 中,图像的向上采样(Upsampling) 和 向下采样(Downsampling) 是常用的图像金字塔(Pyramid)操作,主要用于多分辨率处理(例如目标检测、图像金字塔匹配、金字塔融合等)。

二、OpenCV 提供的函数
OpenCV 提供了两种专用的函数:
pyrUp() // 向上采样(放大)
pyrDown() // 向下采样(缩小)
它们都属于 图像金字塔(Image Pyramid) 操作,会在采样前后自动进行高斯滤波以减少混叠(aliasing)。
函数参数说明:
pyrUp(InputArray src, OutputArray dst, const Size& dstsize = Size(), int borderType = BORDER_DEFAULT);
pyrDown(InputArray src, OutputArray dst, const Size& dstsize = Size(), int borderType = BORDER_DEFAULT);

与 resize() 的区别:

- 如果只是要简单缩放(例如 1.3×、0.75×),推荐用 resize();
- 如果要做图像金字塔(层层上下采样),推荐用 pyrUp/pyrDown。
三、示例代码
向下采样(pyrDown):
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat src = imread("test.jpg");
if (src.empty()) return -1;
Mat dst;
pyrDown(src, dst); // 图像缩小一半
imshow("Original", src)
OpenCV图像采样与金字塔应用

最低0.47元/天 解锁文章
857

被折叠的 条评论
为什么被折叠?



