图像金字塔
- 简介
金字塔的底层是比较大,越往上越小,图像金字塔就是把图像组合成金字塔的形状。 图像金字塔可以做图像特征提取,做特征提取时有时可能不光对原始输入做特征提取,可能还会对好几层图像金字塔做特征提取。可能每一层特征提取的结果是不一样的,再把特征提取的结果总结在一起。 常用的两种图像金字塔形式: 高斯金字塔 拉普拉斯金字塔
-
高斯金字塔
-
代码案例
import cv2 #opencv的缩写为cv2 import matplotlib.pyplot as plt # matplotlib库用于绘图展示 import numpy as np # numpy数值计算工具包 # 魔法指令,直接展示图,Jupyter notebook特有 %matplotlib inline def cv_show(img,name): cv2.imshow(name,img) cv2.waitKey() cv2.destroyAllWindows() img = cv2.imread('01_Picture/09_AM.png') cv_show(img,'img') print(img.shape) # 执行结果:(442, 340, 3) img = cv2.imread('01_Picture/09_AM.png') up = cv2.pyrUp(img) cv_show(up,'up') print(up.shape) # 执行结果:(884, 680, 3) img = cv2.imread('01_Picture/09_AM.png') down = cv2.pyrDown(img) cv_show(down,'down') print(down.shape) # 执行结果:(221, 170, 3) up = cv2.pyrUp(up) # 上采样之后再上采样 cv_show(up,'up') print(up.shape) # 执行结果:(1768, 1360, 3) img = cv2.imread('01_Picture/09_AM.png') up = cv2.pyrUp(img) up_down = cv2.pyrDown(up) # 先上采样再下采样 cv_show(np.hstack((img,up_down)),'up_down')
- 执行结果
点击查看详情
-
原图
-
放大
-
缩小
-
再次放大
-
先放大再缩小,原图与结果图对比
- 拉普拉斯金字塔
拉普拉斯金字塔的每一层图像尺寸不变。 拉普拉斯金字塔的每一层操作都是上一层处理后作为输入,该输入减去该输入缩小放大后的图像,获得该层的输出
- 代码案例
img = cv2.imread('01_Picture/09_AM.png') domn = cv2.pyrDown(img) down_up = cv2.pyrUp(down) L_1 = img - down_up cv_show(L_1,'L_1') print(L_1.shape) # 执行结果:(442, 340, 3)
- 执行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App