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

一、高斯核--金字塔

1.1 向下采样

python 复制代码
img = cv2.pyrDown(src=*,dstsize=*,borderType=*)

**img:**目标图像。

**src:**原始图像。

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

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

python 复制代码
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 向上采样

python 复制代码
img = cv2.pyrUp(src=*,dstsize=*,borderType=*)

**img:**目标图像。

**src:**原始图像。

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

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

python 复制代码
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 填充,所以图像会变模糊。

二、拉普拉斯--金字塔

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

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

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

python 复制代码
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()
相关推荐
大龄程序员狗哥6 小时前
第47篇:使用Speech-to-Text API快速构建语音应用(操作教程)
人工智能
KKKlucifer6 小时前
数据安全合规自动化:策略落地、审计追溯与风险闭环技术解析
人工智能·安全
RWKV元始智能7 小时前
RWKV超并发项目教程,RWKV-LM训练提速40%
人工智能·rnn·深度学习·自然语言处理·开源
dyj0957 小时前
Dify - (一)、本地部署Dify+聊天助手/Agent
人工智能·docker·容器
墨染天姬7 小时前
【AI】Hermes的GEPA算法
人工智能·算法
小超同学你好7 小时前
OpenClaw 深度解析系列 · 第8篇:Learning & Adaptation(学习与自适应)
人工智能·语言模型·chatgpt
紫微AI7 小时前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
码途漫谈7 小时前
Easy-Vibe开发篇阅读笔记(四)——前端开发之结合 Agent Skills 美化界面
人工智能·笔记·ai·开源·ai编程
易连EDI—EasyLink7 小时前
易连EDI–EasyLink实现OCR智能数据采集
网络·人工智能·安全·汽车·ocr·edi
冬奇Lab7 小时前
RAG 系列(二):用 LangChain 搭建你的第一个 RAG Pipeline
人工智能·langchain·llm