[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()
原文地址:https://www.cnblogs.com/zhouzetian/p/13368342.html