win10+Python3.7.3+OpenCV3.4.1入门学习(十一 图像金字塔)———— 11.4 采样可逆性的研究

Python版本是Python3.7.3,OpenCV版本OpenCV3.4.1,开发环境为PyCharm

图像在向上采样后,整体尺寸变为原来的4倍;在向下采样后,整体尺寸变为原来的四分之一。下图展示了图像在采样前后的大小变化关系。一幅MN大小的图像经过向下采样后大小会变为(M/2)(N/2);一幅MN大小的图像经过向上采样后大小会变为(2M)(2N)。

在这里插入图片描述

一幅图像在先后经过向下采样和向上采样后,会恢复为原始大小,如下图所示。
在这里插入图片描述

虽然一幅图像在先后经过向下采样、向上采样后,会恢复为原始大小,但是向上采样和向下采样不是互逆的。也就是说,虽然在经历两次采样操作后,得到的结果图像与原始图像的大小一致,肉眼看起来也相似,但是二者的像素值并不是一致的。

eg1:使用函数cv2.pyrDown()和cv2.pyrUp(),先后将一幅图像进行向下采样、向上采样,观察采样的结果及结果图像与原始图像的差异。
程序如下:

import cv2
o=cv2.imread("lena.bmp")
down=cv2.pyrDown(o)
up=cv2.pyrUp(down)
diff=up-o   #构造diff图像,查看up与o的区别
print("o.shape=",o.shape)
print("up.shape=",up.shape)
cv2.imshow("original",o)
cv2.imshow("up",up)
cv2.imshow("difference",diff)
cv2.waitKey()
cv2.destroyAllWindows()

本例在尝试向大家说明,原始图像先后经过向下采样、向上采样后,所得到的结果图像与原始图像的大小一致,看起来也很相似,但是它们的像素值并不是一致的。
运行程序,会显示如下输出:

o.shape= (512, 512, 3)
up.shape= (512, 512, 3)

从上述输出结果可以得知,图像在先后经过向下采样、向上采样后,得到的结果图像与原始图像大小一致。
同时,程序还会显示如下图所示图像。其中:
● ( a )图是原始图像o。
● ( b )图是对图像down(通过对原始图像o向下采样得到)进行向上采样后获得的结果图像up。
● ( c )图是对图像up和原始图像o进行减法运算的结果(差值)图像diff。图像diff反映的是图像up和原始图像o的差值。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
从本例的结果可知,原始图像o与先后经过向下采样、向上采样得到的结果图像up,在大小上是相等的,在外观上是相似的,但是它们的像素值并不一致。

eg2:使用函数cv2.pyrUp()和cv2.pyrDown(),先后将一幅图像进行向上采样、向下采样,观察采样的结果及结果图像与原始图像的差异。
程序如下:

import cv2
o=cv2.imread("lena.bmp")
up=cv2.pyrUp(o)
down=cv2.pyrDown(up)
diff=down-o   #构造diff图像,查看down与o的区别
print("o.shape=",o.shape)
print("down.shape=",down.shape)
cv2.imshow("original",o)
cv2.imshow("down",down)
cv2.imshow("difference",diff)
cv2.waitKey()
cv2.destroyAllWindows()

本例尝试向大家说明,一幅图像在先后经过向上采样、向下采样后,所得到的结果图像大小与原始图像一致,看起来也很相似,但是它们的像素值并不是一致的。
运行程序,会显示如下输出:

o.shape= (512, 512, 3)
down.shape= (512, 512, 3)

从上述输出可得知,图像在先后经过向上采样、向下采样后,得到的结果图像与原始图像大小一致。
同时,程序还会显示如下图所示图像。其中:
● ( a )图是原始图像o。
● ( c )图是对图像up(通过对原始图像o向上采样得到)进行向下采样后的结果图像down。
● ( d )图是对图像down和原始图像o进行减法运算的结果图像diff。图像diff反映的是图像down和原始图像o的差值。
从本例的结果可知,原始图像o与先后经过向上采样、向下采样得到的图像 down,在大小上是相等的,在外观上是相似的,但是它们的像素值并不一致。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值