返回OpenCV算子速查表

升采样 pyrDown,降采样 pyrUp,图像金字塔buildPyramid

  • 1. 函数定义
    • 1.1 降采样 pyrDown
    • 1.2 升采样 pyrUp
  • 1.3 buildPyramid
  • 2. 例程

1. 函数定义

1.1 降采样 pyrDown

OpenCV官方文档 pyrDown

 void pyrDown(InputArray src,OutputArray dst,const Size& dstsize = Size(),int borderType = BORDER_DEFAULT);
  • dstsize:缺省值,输出图像的尺寸单边是源图像的一半Size((src.cols+1)/2, (src.rows+1)/2), 但是无论何种情况都必须满足以下条件:|dstsize.width ∗ 2 − src.cols| ≤ 2,|dstsize.height ∗ 2 − src.rows| ≤ 2
  • 降采样的步骤:
    • 先使用卷积核对源图像进行卷积;
    • 然后去除所有的偶数行和列。

1.2 升采样 pyrUp

OpenCV官方文档 pyrUp

 void pyrUp(InputArray src,OutputArray dst,const Size& dstsize = Size(),int borderType = BORDER_DEFAULT);
  • 该函数是升采样一幅图像,在对其进行模糊操作。
  • dstsize:缺省值,输出图像的尺寸单边是源图像的两倍,Size(src.cols*2, (src.rows*2), 但是无论何种情况都必须满足以下条件:|dstsize.width − src.cols ∗ 2| ≤ (dstsize.widthmod2),|dstsize.height − src.rows ∗ 2| ≤ (dstsize.heightmod2)
  • 升采样的步骤:
    • 先去除偶数行和列,
    • 然后用4倍于降采样卷积核对图像进行卷积。

1.3 buildPyramid

 void buildPyramid(InputArray src,OutputArrayOfArrays dst,int maxlevel, int borderType = BORDER_DEFAULT);
  • 该函数为图像创建了一个高斯金字塔。
  • 该函数构建了一个保存图像的容器,金字塔图像是通过递归pyrDown函数来得到的,首张图像dst[0] 就是原图。

2. 例程

  • 降采样
  • 升采样
  • 创建图像金字塔
#include "stdafx.h"
#include <opencv.hpp>
#include <vector>
using namespace std;
using namespace cv;
int main()
{Mat m_SrcImg = imread("./flower.jpg", IMREAD_COLOR);imshow("Source Image", m_SrcImg);Mat m_DstImg;//降采样第1次pyrDown(m_SrcImg, m_DstImg, Size());imshow("pyrDown1", m_DstImg);//降采样第2次pyrDown(m_DstImg, m_DstImg, Size());imshow("pyrDown2", m_DstImg);Mat pyrUpImg;//升采样第1次pyrUp(m_DstImg, pyrUpImg, Size());imshow("pyrUp1", pyrUpImg);//升采样第2次pyrUp(pyrUpImg, pyrUpImg, Size());imshow("pyrUp2", pyrUpImg);//图像金字塔vector<Mat> m_PyramidVec;buildPyramid(m_SrcImg, m_PyramidVec, 3);for (size_t i = 0; i < m_PyramidVec.size(); i++){imshow("buildPyramid" + i, m_PyramidVec[i]);}waitKey(0);return 0;
}

OpenCV 图像金字塔buildPyramid、pyrDown、pyrUp相关推荐

  1. Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()

    Python,OpenCV图像金字塔cv2.pyrUp, cv2.pyrDown 1. 效果图 2. 原理 2.1 什么是图像金字塔 2.2 金字塔分类 2.3 应用 3. 源码 参考 这篇博客将介绍 ...

  2. OpenCV图像金字塔pyrDown和pyrUp的实例(附完整代码)

    OpenCV图像金字塔pyrDown和pyrUp的实例 OpenCV图像金字塔pyrDown和pyrUp的实例 OpenCV图像金字塔pyrDown和pyrUp的实例 #include "i ...

  3. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()

    OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize() 一.图像金字塔定义: 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是 ...

  4. OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结

    我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式: <1> resize函数.这是最直接的方式, &l ...

  5. 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放...

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...

  6. 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...

  7. opencv 图像金字塔及图像重建、融合

    一.图像金字塔 关于图像金字塔的介绍,这里推荐一篇毛星云写的博客 OpenCV图像金字塔:高斯金字塔.拉普拉斯金字塔与图片尺寸缩放,是基于<OpenCV3编程入门>中图像金字塔部分编写,基 ...

  8. opencv图像金字塔的介绍

    1.学习目标: 掌握opencv图像金字塔的原理 学习内容: 1.什么是图像金字塔? 2.图像金字塔有什么用? 3.图像金字塔实现方式 学习产出: 1. 什么是图像金字塔? 图像金字塔(如图 1 所示 ...

  9. FCN全卷积网络—upsampling(上采样)——OpenCV图像金字塔

    一.上采样理论 1.1 bilinear 1.2 Deconvolution(反卷积) 1.3 unpooling 二.OpenCV金字塔:高斯金字塔.拉普拉斯金字塔与图片缩放 一.上采样理论 FCN ...

最新文章

  1. loss函数为何选交叉熵
  2. 如何编写Python模块/包?
  3. Spring 极速集成注解 Redis 实践
  4. [RN] React Native 错误 Module does not exist in the module map
  5. 福特在迈阿密开始探索自动驾驶商业模式:先送比萨试试
  6. Angularjs中设置cookies的过期时间
  7. 重装系统时提示在引导修复时检测到错误怎么办
  8. 【docker】如何在docker中执行redis命令
  9. 产品经理面试必问(附解析)
  10. 网页中的QQ和阿里旺旺聊天图标
  11. 没有对象,你凭什么成为百万富翁
  12. PR 多轨道字幕设置
  13. Spring源码学习(三)-- 底层架构核心概念解析
  14. ubuntu卸载mysql
  15. let和const与var的区别
  16. 数显之家快讯:【SHIO世硕心语】LCD、OLED、QLED的区别知多少?
  17. EWM RF手持设备开发记录
  18. 2023年回顾与计划
  19. 怎样做好机械设备设计?
  20. 如何让文本框背景色透明

热门文章

  1. 1 企业实战(3) Redis服务部署和配置详解 (资源)
  2. CentOS7网络配置ping通外网
  3. 教你在 CentOS 8上安装GCC实现开发编译功能
  4. MySQL | MySQL 数据库系统(四)- 数据库的备份与恢复
  5. 使用内存硬盘(tmpfs)来加速你的网站
  6. Zabbix官方文件Zabbix图形树
  7. Win7系统 待机后 不断网的 配置方法
  8. .Net 站点跨域问题及解决方法
  9. 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
  10. ubuntu终端执行shell脚本报command not found解决方法