OpenCV 图像金字塔buildPyramid、pyrDown、pyrUp
返回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相关推荐
- Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()
Python,OpenCV图像金字塔cv2.pyrUp, cv2.pyrDown 1. 效果图 2. 原理 2.1 什么是图像金字塔 2.2 金字塔分类 2.3 应用 3. 源码 参考 这篇博客将介绍 ...
- OpenCV图像金字塔pyrDown和pyrUp的实例(附完整代码)
OpenCV图像金字塔pyrDown和pyrUp的实例 OpenCV图像金字塔pyrDown和pyrUp的实例 OpenCV图像金字塔pyrDown和pyrUp的实例 #include "i ...
- OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()
OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize() 一.图像金字塔定义: 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是 ...
- OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结
我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式: <1> resize函数.这是最直接的方式, &l ...
- 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放...
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- opencv 图像金字塔及图像重建、融合
一.图像金字塔 关于图像金字塔的介绍,这里推荐一篇毛星云写的博客 OpenCV图像金字塔:高斯金字塔.拉普拉斯金字塔与图片尺寸缩放,是基于<OpenCV3编程入门>中图像金字塔部分编写,基 ...
- opencv图像金字塔的介绍
1.学习目标: 掌握opencv图像金字塔的原理 学习内容: 1.什么是图像金字塔? 2.图像金字塔有什么用? 3.图像金字塔实现方式 学习产出: 1. 什么是图像金字塔? 图像金字塔(如图 1 所示 ...
- FCN全卷积网络—upsampling(上采样)——OpenCV图像金字塔
一.上采样理论 1.1 bilinear 1.2 Deconvolution(反卷积) 1.3 unpooling 二.OpenCV金字塔:高斯金字塔.拉普拉斯金字塔与图片缩放 一.上采样理论 FCN ...
最新文章
- loss函数为何选交叉熵
- 如何编写Python模块/包?
- Spring 极速集成注解 Redis 实践
- [RN] React Native 错误 Module does not exist in the module map
- 福特在迈阿密开始探索自动驾驶商业模式:先送比萨试试
- Angularjs中设置cookies的过期时间
- 重装系统时提示在引导修复时检测到错误怎么办
- 【docker】如何在docker中执行redis命令
- 产品经理面试必问(附解析)
- 网页中的QQ和阿里旺旺聊天图标
- 没有对象,你凭什么成为百万富翁
- PR 多轨道字幕设置
- Spring源码学习(三)-- 底层架构核心概念解析
- ubuntu卸载mysql
- let和const与var的区别
- 数显之家快讯:【SHIO世硕心语】LCD、OLED、QLED的区别知多少?
- EWM RF手持设备开发记录
- 2023年回顾与计划
- 怎样做好机械设备设计?
- 如何让文本框背景色透明
热门文章
- 1 企业实战(3) Redis服务部署和配置详解 (资源)
- CentOS7网络配置ping通外网
- 教你在 CentOS 8上安装GCC实现开发编译功能
- MySQL | MySQL 数据库系统(四)- 数据库的备份与恢复
- 使用内存硬盘(tmpfs)来加速你的网站
- Zabbix官方文件Zabbix图形树
- Win7系统 待机后 不断网的 配置方法
- .Net 站点跨域问题及解决方法
- 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
- ubuntu终端执行shell脚本报command not found解决方法