小白学python(opencv图像缩放)

879 阅读1分钟

今天让我们学学如何用opencv对图像进行缩放处理。

cv2.resize()

opencv里面提供cv2.resize()函数对图像进行缩放。

这里就直接上百度的图了,挺不错的, 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

def suofang_demo(image): #缩放
    # 按照指定的宽度、高度缩放图片
    res = cv.resize(image, (65, 75))
    cv.imshow("res", res)
    # 按照比例缩放,如x,y轴均放大一倍
    res2 = cv.resize(image, None, fx=2, fy=2, interpolation=cv.INTER_LINEAR)
    cv.imshow('res2', res2)

(这里就不截完了) 在这里插入图片描述

pyrDown()

OpenCV提供了函数cv2.pyrDown(),用于实现图像高斯金字塔操作中的向下采样,
其语法形式为:
dst = cv2.pyrDown( src[, dstsize[, borderType]] )

dst为目标图像。
● src为原始图像。
● dstsize为目标图像的大小。
● borderType为边界类型,默认值为BORDER_DEFAULT

代码:

def suofang_demo2(image): #缩pyrDown()
    r1 = cv.pyrDown(image)
    r2 = cv.pyrDown(r1)
    r3 = cv.pyrDown(r2)
    cv.imshow("r1", r1)
    cv.imshow("r2", r2)
    cv.imshow("r3", r3)

在这里插入图片描述

从上述结果可知,经过向下采样后,图像的行和列的数量
都会变为原来的二分之一,图像整体的大小会变为原来的四分之一。

cv.pyrUp()

和pyrDown类似,即为放大
def suofang_demo3(image): #放pyUp()
    r1 = cv.pyrUp(image)
    r2 = cv.pyrUp(r1)
    cv.imshow("r1", r1)
    cv.imshow("r2", r2)

在这里插入图片描述

从上述结果可知,经过向上采样后,图像的行和列的数量
都会变为原来的二倍,图像整体的大小会变为原来的四倍。