[Python图像处理]十二.图像向下取样和向上取样
图像向下取样
在图像向下取样中,使用最多的是高斯金字塔。它将对图像Gi进行高斯核卷积,并删除图像中所有的偶数行和列,最终缩小图像,其中高斯卷积核运算就是对整幅图像进行加权平均的过程,每一个像素点的值,都是由其本身和领域内的其他像素值经过加权平均后得到。
dst = cv2.pyRdown(src, dstsize, borderType)
src: 表示输入图像
dst: 表示输出图像的大小,和输入图像具有一样的尺寸和类型
dstsize:表示输出图像的大小,默认值位Size()
borderType:表示元素外推方法
import cv2 def test(): img = cv2.imread("src.png") r = cv2.pyrDown(img) r1 = cv2.pyrDown(r) r2 = cv2.pyrDown(r1) r3 = cv2.pyrDown(r2) cv2.imshow('original', img) cv2.imshow('pyrDown1', r1) cv2.imshow('pyrDown2', r2) cv2.imshow('pyrDown3', r3)s cv2.waitKey() cv2.destroyAllWindows() test()
图像向上取样
在图像向上取样时由小图像不断放大图像的过程。它将图像每个方向上扩大为原图像的2倍,新增的行和列均用0来填充,并使用与向下取样相同的卷积核乘以4,再与放大的图像进行卷积核运算,以获得"新增像素"的新增。
dst = cv2.pyrUp(src, dstsize, borderType)
src:表示输入图像
dstsize:表示输出图像的大小,和输入图像具有一样的尺寸和类型
borderType:表示像素往外推
import cv2 def test(): img = cv2.imread("src.png") r = cv2.pyrUp(img) r1 = cv2.pyrUp(r) 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() test()