当前位置: 首页 > article >正文

OpenCV-Python实战(12)——图像金字塔

 一、高斯核--金字塔

1.1 向下采样

img = cv2.pyrDown(src=*,dstsize=*,borderType=*)

img:目标图像。

src:原始图像。

dstsize:目标图像的shape,默认为:宽度和高度为原先的一半。

borderType:边界样式,使用默认即可。

import cv2

img = cv2.imread('Lena.png')

img1 = cv2.pyrDown(src=img)
img2 = cv2.pyrDown(src=img1)
img3 = cv2.pyrDown(src=img2)

cv2.imshow('img',img)
cv2.imshow('img1',img1)
cv2.imshow('img2',img2)
cv2.imshow('img3',img3)

cv2.waitKey(0)
cv2.destroyAllWindows()

1.2 向上采样 

img = cv2.pyrUp(src=*,dstsize=*,borderType=*)

img:目标图像。

src:原始图像。

dstsize:目标图像的shape,默认为:宽度和高度为原先的一半。

borderType:边界样式,使用默认即可。

import cv2

img = cv2.imread('Lena.png')

img1 = cv2.pyrDown(src=img)
img2 = cv2.pyrDown(src=img1)
img3 = cv2.pyrDown(src=img2)

img4 = cv2.pyrUp(src=img3)
img5 = cv2.pyrUp(src=img4)
img6 = cv2.pyrUp(src=img5)


cv2.imshow('img',img)
cv2.imshow('img1',img4)
cv2.imshow('img2',img5)
cv2.imshow('img3',img6)


cv2.waitKey(0)
cv2.destroyAllWindows()

由图可以看出上采样并不能完全还原原图像素点,还原像素点一般以 0 填充,所以图像会变模糊。 

二、拉普拉斯--金字塔

img = cv2.imread('Lena.png')  # 原图
L = img - cv2.pyrUp(src = cv2.pyrDown(src=img)) # 拉普拉斯图像

拉普拉斯金字塔 = 当前层高斯金字塔 - 下一层高斯金字塔上采样结果。

即高斯金字塔上下采样间丢失的像素点值。 

import cv2

img = cv2.imread('Lena.png')  # 原图

G = cv2.pyrDown(src=img)      # 下采样1次
L = img - cv2.pyrUp(src=G)    # 拉普拉斯图像
img1 = L + cv2.pyrUp(src=G)   # 恢复结果图像

cv2.imshow('img',img)
cv2.imshow('L',L)
cv2.imshow('img1',img1)

cv2.waitKey(0)
cv2.destroyAllWindows()


http://www.kler.cn/a/463796.html

相关文章:

  • 计算机网络——期末复习(5)期末考试样例1(含答案)
  • OWASP ZAP之API 请求基础知识
  • Linux Red Hat 7.9 Server安装GitLab
  • 分析服务器 systemctl 启动gozero项目报错的解决方案
  • 金融租赁系统的创新与发展推动行业效率提升
  • 如何使用Python自动化发送消息:用pynput库批量输入并发送文本
  • 机器学习随机森林回归模型数据预处理中归一化或者标准化
  • SQL 建表语句详解
  • Vue演练场基础知识(二)表单绑定+条件渲染
  • 【2024年-12月-25日-开源社区openEuler实践记录】easybox:简化开发运维流程的开源百宝箱
  • Android Gradle JVM配置文件gradle.properties优先级查找
  • Android TV端弹出的PopupWindow没有获取焦点
  • ECMAScript 变量
  • 纯血鸿蒙ArkUI按钮组件详解
  • 【每日学点鸿蒙知识】WebView代理、2D绘制矩形圆角、TextInput清理按钮、pdf滑动、icon配置问题
  • [算法] [leetcode-324] 摆动排序 II
  • 【C#】C#打印当前时间以及TimeSpan()介绍
  • uniapp——App下载文件,打开文档(一)
  • DeepSeek LLM通过长期主义扩展开源语言模型
  • python基础004--flask
  • python实现自动登录12306抢票 -- selenium
  • JavaSpring AI与阿里云通义大模型的集成使用Java Data Science Library(JDSL)进行数据处理
  • 上传第三方jar包到maven私服仓库的两种方法
  • 逆向生成原理
  • CSS系列(40)-- Container Queries详解
  • 第8章 汇编语言--- 循环结构