import cv2
o=cv2.imread('C:/Users/xpp/Desktop/Lena.png')#原始图像
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()
算法:图像向上采样后,尺寸变为原来的4倍;向下采样后,尺寸变为原来的1/4,一幅图像在先后经过向下采样和向上采样或者先后经过向上采样和向下采样,所得到的图像尺寸大小和原始图像一致。图像金字塔是同一幅图像不同分辨率的子图集合。
cv2.pyrDown(src, dst=None, dstsize=None, borderType=None)
cv2.pyrUp(src, dst=None, dstsize=None, borderType=None)
注意:向上采样和向下采样不是互逆运算。在经过两次采样后,得到的结果图像与原始图像的大小一样,但是二者的像素值不一样,无法恢复到原始状态。
本文分享自 图像处理与模式识别研究所 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!