opencv学习笔记19:图像金字塔和图像拉普拉斯金字塔 (用于图像放大和缩小)

图像金字塔原理

图像金字塔:只不同分辨率,不同尺寸子图构成的集合。

取样
向下取样:有一个图像G0,对它重新采样,得到分辨率小些的G1,以此类推。
向上取样:有一个图像G3,然后变成像素更多的G2,以此类推。

向下取样方法

高斯卷积核:自身像素点取36,近一些的取24,越远的像素越低。最后除以像素点个数
在这里插入图片描述
删除偶数行列:使尺寸变为原始四分之一。
向下取样会丢失一些信息。
向上取样方法

如原始图像45,12,3,89,149。一轮向上取样后变为右边。
因为含义0,在使用卷积核时,等于一个像素点被稀释掉为原来的四分之一。所以还要乘以4使图像正常。

向下取样和向上取样是不可逆操作。无法恢复原图。

向下取样函数使用

python+OpenCV
dst=cv2.pyrDown(src)

dst:取样结果
src:原始图像

import cv2
import numpy as np
o=cv2.imread("logo.png")
r1=cv2.pyrDown(o)
r2=cv2.pyrDown(r1)
cv2.imshow("original",o)
cv2.imshow("PyrDown1",r1)
cv2.imshow("PyrDown2",r2)
cv2.waitKey()
cv2.destroyAllWindows()

向上取样函数使用

dst=cv2.pyrUp(src)
dst:取样结果
src:原始图像

import cv2
import numpy as np
o=cv2.imread("lena256.bmp",cv2.IMREAD_GRAYSCALE)
r=cv2.pyrUp(o)
cv2.imshow("original",o)
cv2.imshow("pyrUp",r)
cv2.waitKey()
cv2.destroyAllWindows()

放大图像会导致图像模糊

向下取样向上取样可逆性研究

研究经过一次向下和向上取样后,图像像素是否变化。

import cv2
o=cv2.imread("girl.bmp")
r=cv2.pyrUp(o)
r2=cv2.pyrDown(r)
diff=r2-o
cv2.imshow("difference",diff)
cv2.waitKey()
cv2.destroyAllWindows()

经过一次向上再向下后,再与原图求差,其结果见下面。可以发现经过向上向下后不能恢复原图

拉普拉斯金字塔

结果=原始图像-先向下再向上
向下:尺寸变小
向上:尺寸变大

下图信息为进行两次:
(结果1=原始图像-先向下再向上)
(结果2=结果1-先向下再向上)

import cv2
o=cv2.imread("lena.bmp")
od=cv2.pyrDown(o)
odu=cv2.pyrUp(od)
lapPyr=o-odu
o1=od
o1d=cv2.pyrDown(o1)
o1du=cv2.pyrUp(o1d)
lapPyr1=o1-o1du
cv2.imshow("lapPyr",lapPyr)
cv2.imshow("lapPry1",lapPyr1)
cv2.waitKey()
cv2.destroyAllWindows()

总目录链接:
python3+opencv学习笔记汇总目录(适合基础入门学习)

进阶版学习笔记:
opencv进阶学习笔记10:图像金字塔和图像梯度

电气专业的计算机小白,写博文不容易。如果你觉得本文不错。请点个赞支持下。谢谢。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总裁余(余登武)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值