版权声明:本文为博主原创文章,转载请附源链接。
一、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()
运行结果如下所示:
三、对图片进行固定尺寸的缩放
缩放后的图片的尺度为一定值,进行缩放
# -*- 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()
运行结果如下: