一、图像金字塔

(一)理论
图像金字塔由一副图像的多个不同分辨率的子图所构成的图像集合,最小图像可能仅仅有一个像素点。首先对原始图像进行滤波,得到原始图像的近似图像,再将近似图像的偶数行和偶数列删除以获取向下采样的结果。滤波器有:

  • 邻域滤波器:采用邻域平均技术求原始图像的近似图像,得到平均金字塔。
  • 高斯滤波器:采用高斯滤波器对原始图像进行滤波,得到高斯金字塔,通过pyrDown实现。

(二)函数
pyrDown函数:先对原始图像进行高斯滤波变换,以获取原始图像的近似图像,通过抛弃偶数行和偶数列来实现向下采样。
pyrUp函数:对图像向上采样时,在每个像素的右侧、下方分别插入零值行和列,用向下采样时所使用的高斯滤波器对新图像进行滤波,得到向上采样的结果。
(三)代码

# 高斯金字塔
def pyramid_demo(image):level = 3# 复制temp = image.copy()pyramid_images = []for i in range(level):"""pyrDown(src, dst=None, dstsize=None, borderType=None):向下采样src:原始图像dst:目标图像dstsize:目标图像的大小borderType:边界类型,默认为BORDER_CONSTANT且仅支持它"""dst = cv.pyrDown(temp)# 加入到里面pyramid_images.append(dst)cv.imshow('pyramid_demo' + str(i), dst)temp = dst.copy()return pyramid_images

二、拉普拉斯金字塔

1、作用

对金字塔中的小图像进行向上采样以获取完整的大尺寸高分辨率图像

2、原理

3、代码

# 拉普拉斯金字塔
def lapalian_demo(image):pyramid_images = pyramid_demo(image)# 计算层数level = len(pyramid_images)# 从高到底递减for i in range(level - 1, -1, -1):if (i - 1) < 0:# pyrUp:还原;最后一个原图减去expandexpand = cv.pyrUp(pyramid_images[i], dstsize=image.shape[:2])# 用上一层减expandlpls = cv.subtract(image, expand)cv.imshow('lapalian_demo' + str(i), lpls)else:expand = cv.pyrUp(pyramid_images[i], dstsize=pyramid_images[i - 1].shape[:2])lpls = cv.subtract(pyramid_images[i - 1], expand)cv.imshow('lapalian_demo' + str(i), lpls)

图像金字塔——pyrDown和pyrUp相关推荐

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

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

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

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

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

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

  4. OpenCV 图像金字塔buildPyramid、pyrDown、pyrUp

    返回OpenCV算子速查表 升采样 pyrDown,降采样 pyrUp,图像金字塔buildPyramid 1. 函数定义 1.1 降采样 pyrDown 1.2 升采样 pyrUp 1.3 buil ...

  5. opencv学习笔记(三)—— 利用图像金字塔进行图像无缝拼接,cv2.pyrDown() ,cv2.pyrUp()

    原理 一般情况下,我们要处理是一副具有固定分辨率的图像.但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理.比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸大小. ...

  6. 【OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)

    [OpenCV 例程200篇]31. 图像金字塔(cv2.pyrDown) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更 ...

  7. 《OpenCV3编程入门》学习笔记6 图像处理(六)图像金字塔与图片尺寸缩放

    6.6 图像金字塔与图片尺寸缩放 6.6.1 图像金字塔 1.图像金字塔是图像中多尺度表达的一种,主要用于图像分割,是一种以多分辨率解释图像的结构,通过梯次向下采样获得分辨率逐步降低的图象集合 2.分 ...

  8. OpenCV+python:图像金字塔

    1,图像金字塔的概念 图像金字塔是一种以多分辨率来解释图像的有效但概念简单的结构.应用于图像分割,机器视觉和图像压缩.一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图 ...

  9. OpenCV-Python形态变换、图像金字塔、轮廓属性、直方图

    OpenCV基础 1. Morphological Transformations(形态变换) 2. Image Pyramids(图像金字塔) 3. Contours(轮廓) 4. 轮廓的特性进阶 ...

  10. 图像金字塔与resize函数

    图像金字塔 将一层层图像比喻成金字塔,层级越高,图像越小,分辨率越低. 高斯金字塔:向下降采样: 拉普拉斯金字塔:向上采样,通过金字塔低层图像重建上层未采样图像: 金字塔的产生 用高斯核对图像进行卷积 ...

最新文章

  1. 改造HINT的输出方式
  2. centos 定时删除文件_CentOS自动删除n天前日志命令
  3. Java里的字符串, String类简单介绍.
  4. struts工作流程
  5. 把Hybris Commerce本地tomcat的keystore给本机的tomcat使用
  6. 【LeetCode笔记】199. 二叉树的右视图(Java、二叉树、层序遍历)
  7. java手机号分割_java 获取手机号归属地
  8. Open vSwitch流表应用实战
  9. 温习php一(apache和php的配置)
  10. 【深入理解JVM】运行时数据区域:java虚拟机栈
  11. FOREACH的遍历
  12. 阿牛的EOF牛肉串(递推dp)
  13. Hadoop的shell命令
  14. 数据库周刊45丨易鲸捷4.2亿订单创记录;10月Oracle补丁发布;巨杉SequoiaDB v5.0发布;MySQL卡死案例……
  15. java swing个人简历小实验
  16. android tf卡 修复工具,如何修复/格式化损坏的安卓手机SD卡-万兴恢复专家
  17. 女双中后场常用技术及训练方法[技术解码]
  18. Word中批量更新域的两个小方法
  19. bert 中文 代码 谷歌_从字到词,大词典中文BERT模型的探索之旅
  20. UEFI 之 LoadImage探索

热门文章

  1. 微信小程序云开发教程-手把手:小程序数据库设计
  2. win10没有realtek高清晰音频管理器_Win10如何让电脑睡眠不断网?电脑睡眠状态不断网继续下载的方法...
  3. 正弦波叠加成方波--Python简易版
  4. 摄影光学与镜头pdf_摄影摄像基础pdf
  5. mysql 创建函数报错_MySQL 创建函数时报错'ERROR 1336 (0A000): Dynamic SQL'
  6. 【Rust指南】错误的分类与传递|使用kind进行异常处理
  7. 子群的陪集-》群的拉格朗日定理
  8. Pr视频剪辑的降噪与花字
  9. 交换两个数组的内容555555555
  10. jQuery入口函数的写法