利用Python+opencv进行图像的缩放(附代码)

版权声明:本文为博主原创文章,转载请附源链接。


一、cv2.resize()函数的参数说明

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

其第一个参数为待缩放的图像,第二个参数为缩放后的图像尺寸大小,第三个和第四个参数为缩放尺度因子,第五个参数为缩放的插值方法。

插值方法:

默认时使用的是cv2.INTER_LINEAR

缩小时推荐使用cv2.INTER_AREA

扩展放大时推荐使用cv2.INTER_CUBIC 和 cv2.INTER_LINEAR,前者比后者运行速度慢。

二、利用缩放尺度因子进行缩放

以高度和宽度缩放比例因子均为1.5为例,对原图像进行缩放代码如下:

# -*- coding: utf-8 -*-
import cv2
import numpy as np
img=cv2.imread('4.jfif')

suofanghou=cv2.resize(img,None,fx=1.5,fy=1.5,interpolation=cv2.INTER_CUBIC)  
#None是输出图像的尺寸大小,fx和fy是缩放因子
#cv2.INTER_CUBIC 是插值方法,一般默认为cv2.INTER_LINEAR

while(1):
    cv2.imshow('suofanghou',suofanghou)
    cv2.imshow('img',img)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cv2.destroyAllWindows()

运行结果如下所示:

利用Python+opencv进行图像的缩放(附代码)_第1张图片利用Python+opencv进行图像的缩放(附代码)_第2张图片

三、对图片进行固定尺寸的缩放

缩放后的图片的尺度为一定值,进行缩放

# -*- coding: utf-8 -*-
import cv2
import numpy as np
img=cv2.imread('4.jfif')

height,width=img.shape[:2]
suofanghou=cv2.resize(img,(2*width,2*height),interpolation=cv2.INTER_CUBIC)   #定尺寸的缩放
#cv2.INTER_CUBIC 是插值方法,一般默认为cv2.INTER_LINEAR

while(1):
    cv2.imshow('suofanghou',suofanghou)
    cv2.imshow('img',img)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cv2.destroyAllWindows()

运行结果如下:

利用Python+opencv进行图像的缩放(附代码)_第3张图片利用Python+opencv进行图像的缩放(附代码)_第4张图片

你可能感兴趣的:(opencv)