图像处理入门六
图像金字塔之图像向上取样和向下取样
图像向上采样和向下采样的 pyrUp()和 pyrDown()
(1)向上取样新增像素
dst = pyrUp(src[, dst[, dstsize[, borderType]]])
import cv2
import numpy as np
import matplotlib.pyplot as plt
#读取原始图像
img = cv2.imread('lena-small.png')
#图像向上取样
r1 = cv2.pyrUp(img)
r2 = cv2.pyrUp(r1)
r3 = cv2.pyrUp(r2)
#显示图像
cv2.imshow('original', img)
cv2.imshow('PyrUp1', r1)
cv2.imshow('PyrUp2', r2)
cv2.imshow('PyrUp3', r3)
cv2.waitKey()
cv2.destroyAllWindows()
(2)向下取样高斯卷积(加权平均)
dst = pyrDown(src[, dst[, dstsize[, borderType]]])
import cv2
import numpy as np
import matplotlib.pyplot as plt
#读取原始数据
img=cv2.imread('nv.png')
#图像向下取样
r1 = cv2.pyrDown(img)
r2 = cv2.pyrDown(r1)
r3 = cv2.pyrDown(r2)
#显示图像
cv2.imshow('original', img)
cv2.imshow('PyrDown1', r1)
cv2.imshow('PyrDown2', r2)
cv2.imshow('PyrDown3', r3)
cv2.waitKey()
cv2.destoryAllWindows()
向上取样放大后的图像比原始图像要模糊,而每次向下取样会删除偶数行和列,它会不停地丢失图像的信息。此外,向上采样和向下采样不是互逆的操作,经过两种操作后,是无法恢复原始图像的。