python-opencv(10)图像金字塔

简介: 文章目录1. 图像金字塔特点2. 向下采样2.1. 特点

1. 图像金字塔特点

图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。

2. 向下采样

2.1. 特点

从第i层获取第i+1层 Gi→Gi+1

  1. 对图像Gi进行高斯核卷积。
  2. 删除所有的偶数行和列。

原始图像 M×N→处理结果 M/2×N/2,每次处理后,结果图像是原来的1/4。重复执行该过程,构造图像金字塔。

注意:向下会丢失信息。

2.2. 相关函数与程序实现

函数:dst=cv2.pyrDown(src)

dst—向下取样结果

src—原始图像

python代码

#%%向下采样
import cv2
img1 = cv2.imread(r"C:\Users\lihuanyu\Desktop\opencv\image\man.bmp")
r1=cv2.pyrDown(img1)
r2=cv2.pyrDown(r1)
r3=cv2.pyrDown(r2)
cv2.imshow("original",img1)
cv2.imshow("PyrDown1",r1)
cv2.imshow("PyrDown2",r2)
cv2.imshow("PyrDown3",r3)
cv2.waitKey()
cv2.destroyAllWindows()

结果

3. 向上采样

3.1. 特点

  1. 在每个方向上扩大为原来的2倍,新增的行和列以0填充。
  2. 使用与“向下采用”同样的卷积核乘以4,获取“新增像素”的新值。

注意:

3. 放大后的图像比原始图像要模糊。

4. 向上采样、向下采样不是互逆操作。经过两种操作后,无法恢复原有图像。

3.2. 相关函数与程序实现

函数:dst=cv2.pyrUp(src)

dst—向上取样结果

src—原始图像

python代码

#%%向上采样
import cv2
img1 = cv2.imread(r"C:\Users\lihuanyu\Desktop\opencv\image\p.bmp")
r1=cv2.pyrUp(img1)
r2=cv2.pyrUp(r1)
r3=cv2.pyrUp(r2)
cv2.imshow("original",img1)
cv2.imshow("PyrDown1",r1)
cv2.imshow("PyrDown2",r2)
cv2.imshow("PyrDown3",r3)
cv2.waitKey()
cv2.destroyAllWindows()

结果

4. 拉普拉斯金子塔

4.1. 特点

拉普拉斯金字塔(Laplacianpyramid): 用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使用。

4.2. 相关函数与程序实现

函数:Li = Gi - PyrUp(PyrDown(Gi))

Gi ,原始图像

Li ,拉普拉斯金字塔图像

python代码

#%%
import cv2
o=cv2.imread(r"C:\Users\lihuanyu\Desktop\opencv\image\lena.bmp")
od=cv2.pyrDown(o)
odu=cv2.pyrUp(od)
lapPyr=o-odu
cv2.imshow("original",o)
cv2.imshow("lapPyr",lapPyr)
cv2.waitKey()
cv2.destroyAllWindows()

结果

相关文章
|
2天前
|
算法 计算机视觉
OpenCV高斯差分技术实现图像边缘检测
OpenCV高斯差分技术实现图像边缘检测
|
4天前
|
Serverless Python
Python----图像的手绘效果
Python----图像的手绘效果
7 1
|
4天前
|
计算机视觉
OpenCV图像运动模糊
OpenCV图像运动模糊
8 0
|
4天前
|
计算机视觉
OpenCV图像阈值
OpenCV图像阈值
5 0
|
4天前
|
计算机视觉
OpenCV图像混合
OpenCV图像混合
7 0
|
4天前
|
计算机视觉 Python
OpenCV为图像扩边(填充)
OpenCV为图像扩边(填充)
9 0
|
4天前
|
监控 算法 计算机视觉
探索图像边缘:使用Python进行轮廓检测
探索图像边缘:使用Python进行轮廓检测
30 3
|
4天前
|
机器学习/深度学习 计算机视觉 Python
使用Python改变图像颜色的实用指南
使用Python改变图像颜色的实用指南
11 1
|
4天前
|
机器学习/深度学习 计算机视觉 Python
【Python 机器学习专栏】图像数据的特征提取与预处理
【4月更文挑战第30天】本文探讨了图像数据的特征提取与预处理在机器学习中的重要性。图像数据具有大容量、信息丰富和冗余性高的特点。特征提取涉及颜色、纹理和形状特征;预处理包括图像增强、去噪和分割。Python的OpenCV和Scikit-image库在处理这些任务时非常有用。常见的特征提取方法有统计、变换和基于模型的方法,而预处理应注意保持图像真实性、适应性调整及验证评估。有效的特征提取和预处理能提升模型性能,Python工具使其更高效。
|
4天前
|
机器学习/深度学习 PyTorch 算法框架/工具
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化