图像金字塔---图像上采样下采样

我们先展示一个索隆图片

复制代码
import cv2
face = cv2.imread('zl.png',cv2.IMREAD_GRAYSCALE)#G0
cv2.resize(face,(600,600))
cv2.imshow('face',face)
cv2.waitKey(0)

下采样

这里下采样就是

向金字塔顶部移动时,图像的尺寸和分辨率都不断地降低。通常情况下,每向上移动一级,图像的宽和高都降低为原来的1/2。

做法:

1、高斯滤波

2、删除其偶数行和偶数列 OpenCV函数cv2.pyrDown()

复制代码
face_down_1 = cv2.pyrDown(face)#下采样G1
cv2.imshow('down_1',face_down_1)
cv2.waitKey(0)

上采样

通常将图像的宽度和高度都变为原来的2倍。这意味着,向上采样的结果图像的大小是原始图像的4倍。因此,要在结果图像中补充大量的像素点。对新生成的像素点进行赋值的行为,称为插值。 做法:

1、插值

2、高斯滤波

复制代码
face_up_1 = cv2.pyrUp(face)
cv2.imshow('up_1',face_up_1)#G1'
cv2.waitKey(0)

我们可以看到这个看着模糊了一点。

拉普拉斯金字塔

这个很简单就是我们下采样之后是不能变成原图的,就算尺寸变回之后也会非常模糊。

这个时候我们用原图减去这个下采样之后上采样的图像

得到了这个,然后我们再加一起,是不是就变成原图了,聪明!!!

这个就是图像金字塔。

完整代码

复制代码
# dst = cv2.pyrDown(src[,dst,dstsize[,borderType]])
# dst: 目标图像
# src: 原始图像
# dstsize: 目标图像的大小
import cv2
face = cv2.imread('zl.png',cv2.IMREAD_GRAYSCALE)#G0
cv2.resize(face,(600,600))
cv2.imshow('face',face)
cv2.waitKey(0)
face_down_1 = cv2.pyrDown(face)#下采样G1
cv2.imshow('down_1',face_down_1)
cv2.waitKey(0)
face_down_2 = cv2.pyrDown(face_down_1)#G2
cv2.waitKey(0)
#高斯金字塔操作中的向上采样
# dst = cv2.pyrUp(src[,dst,dstsize[,borderType]])
# dst: 目标图像
# src: 原始图像
# dstsize: 目标图像的大小
face_up_1 = cv2.pyrUp(face)
cv2.imshow('up_1',face_up_1)#G1'
cv2.waitKey(0)
face_up_2 = cv2.pyrUp(face_up_1)
cv2.imshow('up_2',face_up_2)#G2'
### 对下采用后图像进行上采样,图像变模糊,无法复原
face_down_1_up = cv2.pyrUp(face_down_1)#下采样G1
face_down_2_up = cv2.pyrUp(face_down_2)#下采样G2
cv2.imshow('down_1_up',face_down_1_up)
cv2.imshow('down_2_up',face_down_2_up)
cv2.waitKey(0)
### 拉普拉斯金字塔
L0 = face - face_down_1_up
L1 = face_down_1 - face_down_2_up
fuyuan = face_down_1_up + L0
cv2.imshow('L0',L0)
cv2.imshow('L1',L1)
cv2.waitKey(0)
cv2.imshow('fuyuan',fuyuan)
cv2.waitKey(0)
相关推荐
Honmaple26 分钟前
OpenClaw 迁移指南:如何把 AI 助手搬到新电脑
人工智能
wenzhangli727 分钟前
Ooder A2UI 第一性原理出发 深度解析核心逻辑
人工智能·开源
网络安全研究所30 分钟前
AI安全提示词注入攻击如何操控你的智能助手?
人工智能·安全
数据猿31 分钟前
硬盘价格涨疯了,AI存储何去何从?
人工智能
zhangfeng113337 分钟前
氨基酸序列表示法,蛋白质序列表达 计算机中机器学习 大语言模型中的表达,为什么没有糖蛋白或者其他基团磷酸化甲基化乙酰化泛素化
人工智能·机器学习·语言模型
陈天伟教授1 小时前
人工智能应用- 语言理解:06.大语言模型
人工智能·语言模型·自然语言处理
海心焱1 小时前
安全之盾:深度解析 MCP 如何缝合企业级 SSO 身份验证体系,构建可信 AI 数据通道
人工智能·安全
2501_945318491 小时前
AI证书能否作为招聘/培训标准?2026最新
人工智能
2601_949146531 小时前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
韦东东1 小时前
RAGFlow v0.20的Agent重大更新:text2sql的Agent案例测试
人工智能·大模型·agent·text2sql·ragflow