【OpenCV学习】第11课:图像金字塔 - 上采样与降采样(高斯金字塔,放大与缩小图像)

仅自学做笔记用,后续有错误会更改

理论

参考文章链接:https://blog.csdn.net/qq_54185421/article/details/124350723

  1. 图像金字塔的概念: 在这里插入图片描述
    从上往下(采样点越来越多):上采样
    从下往上(采样点越来越少):降采样
  • 我们在图像处理中常常会调整图像的大小, 最常见的就是放大(zoom in)和缩小(zoom out), 尽管几何变换也可以实现图像放大和缩小, 但是这里我们介绍图像金字塔
  • 一个图像金字塔是一系列图像的集合, 最底下的一张图像尺寸最大, 最上方的图像尺寸最小, 从空间结构来看, 就是一个古代的金字塔形状
  1. 高斯金字塔
  • 用来对图像进行降采样, 也就是缩小图像 (降采样的过程中会有信息丢失,再上采样回去不会得到原图像)
  • 高斯金字塔 是从底向上, 逐层降采样得到
  • 降采样之后图像大小:原图像M * N , 降采样之后为M/2 * N/2, 面积变为原图的1/4, 它其实就是对图像删除偶数的行与列
  • 高斯金字塔的生成过程分为两步:①对当前层进行高斯模糊②删除当前层的偶数行与列
  1. 拉普拉斯金字塔(这里只介绍一下概念,不做代码演示)
  • 高斯金字塔 在降采样的过程中丢失的信息, 形成了 拉普拉斯金字塔
  • 拉普拉斯金字塔 中的第 i 层,等于“ 高斯金字塔 中的第 i 层”与“ 高斯金字塔 中的第 i+1 层的向上采样结果”之差。
  • 通过 拉普拉斯金字塔 , 我们可以将降采样之后的图像尽可能的去恢复原图
  1. 高斯金字塔 与 拉普拉斯金字塔 的关系
  • 如下图所示:
    在这里插入图片描述

相关API

  • 上采样(cv::pyrUp) - zoom in 放大
  • 降采样(cv::pyrDown) - zoom out 缩小
    pyrUp(Mat src, Mat dst, Size(src.cols2, src.rows2)):生成的图像是原图的宽与高各放大2倍
    pyrDown(Mat src, Mat dst, Size(src.cols/2, src.rows/2)):生成的图像是原图的宽与高各缩小为1/2

代码示例

Mat src, dst;
src = imread(...);
//显示原图
char INPUT_WIN[] = "input image";
namedWindow(INPUT_WIN, CV_WINDOW_AUTOSIZE);
imshow(INPUT_WIN,src);
// 显示上采样之后的图
char OUTPUT_UP_WIN[] = "sample up";
pyrUp(src, dst, Size(src.cols*2, src.rows*2));
namedWindow(OUTPUT_UP_WIN, CV_WINDOW_AUTOSIZE);
/imshow(OUTPUT_UP_WIN, dst);
// 显示降采样之后的图
Mat temp_down;
char OUTPUT_DOWN_WIN[] = "sample down";
pyrDown(src, temp_down, Size(src.cols/2, src.rows/2));
namedWindow(OUTPUT_DOWN_WIN, CV_WINDOW_AUTOSIZE);
imshow(OUTPUT_DOWN_WIN, temp_down);

效果截图:
上采样:
在这里插入图片描述
加上降采样,三个一起显示:
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值