Python图片缩放cv2.resize()图文详解

 更新时间:2023年10月26日 08:36:03   作者:一苇所如  
这篇文章主要给大家介绍了关于Python图片缩放cv2.resize()的相关资料, resize是opencv库中的一个函数,主要起到对图片进行缩放的作用,文中通过代码介绍的非常详细,需要的朋友可以参考下

1 函数cv2.resize()的参数

resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)

参数解释

参数解释
src输入原图像
dsize输出图像的大小,方式:(宽,高)
fxwidth方向的缩放比例
fyheight方向的缩放比例
interpolation插值方式,默认为双线性插值

scr、dsize是必传参数,fx、fy、interpolation是可选参数。

2 interpolation参数解释

图片进行缩放,需要对像素进行重新计算,interpolation参数便是决定缩放图像时计算像素的方式,常见的方式以下五种:

参数算法数值
INTER_NEAREST最邻近插值0
INTER_LINEAR双线性插值 (默认)1
INTER_CUBIC4x4像素邻域内的双立方插值2
INTER_AREA使用像素区域关系进行重采样3
INTER_LANCZOS48x8像素邻域内的Lanczos插值4

还有其他的选择:

INTER_BITS2 = 10
INTER_LINEAR_EXACT = 5
INTER_MAX = 7
INTER_NEAREST_EXACT = 6
INTER_TAB_SIZE = 32
INTER_TAB_SIZE2 = 1024

3 代码演示

import cv2

image = cv2.imread('./flower.jpg', 1)
h, w, _ = image.shape

image_f = cv2.resize(image, (0, 0), fx=2, fy=1)

image0 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_NEAREST)
image1 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_LINEAR)
image2 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_CUBIC)
image3 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_AREA)
image4 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_LANCZOS4)
image5 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_BITS)
image10 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_BITS2)

cv2.imshow('image', image)
cv2.imshow('image_f', image_f)
cv2.imshow('image0', image0)
cv2.imshow('image1', image1)
cv2.imshow('image2', image2)
cv2.imshow('image3', image3)
cv2.imshow('image4', image4)
cv2.imshow('image5', image5)
cv2.imshow('image10', image10)
cv2.waitKey(0)

4 效果

image_f

image0

image1

image2

image3

image4

image5

image10

5 总结

通过图形的效果看来,cv2.INTER_CUBIC、cv2.INTER_LANCZOS4和cv2.INTER_BITS2效果比较好,优于双线性插值cv2.INTER_LINEAR,但是双线性插值速度更佳,如果要缩小图片可以考虑cv2.INTER_LINEAR。

image_f这张图是才是fx和fy,如果不想手动计算图片,则dsize直接置为(0, 0),在大多数时候还是使用dsize而不用fx和fy。

到此这篇关于Python图片缩放cv2.resize()的文章就介绍到这了,更多相关Python图片缩放cv2.resize()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3中数组逆序输出方法

    python3中数组逆序输出方法

    在本篇文章里小编给大家整理的是一篇关于python3中数组逆序输出方法内容,有需要的朋友们可以学习下。
    2020-12-12
  • python编写softmax函数、交叉熵函数实例

    python编写softmax函数、交叉熵函数实例

    这篇文章主要介绍了python编写softmax函数、交叉熵函数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python实现简单贪吃蛇游戏

    python实现简单贪吃蛇游戏

    这篇文章主要为大家详细介绍了python实现简单贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 详解numpy的argmax的具体使用

    详解numpy的argmax的具体使用

    这篇文章主要介绍了详解numpy的argmax的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 在pytorch中动态调整优化器的学习率方式

    在pytorch中动态调整优化器的学习率方式

    这篇文章主要介绍了在pytorch中动态调整优化器的学习率方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实现按目录层级输出文件名并保存为excel

    Python实现按目录层级输出文件名并保存为excel

    当我们发现电脑的内存很满,或平时工作中文件夹管理不清晰,导致里面的文件数据很杂乱,查找很不方便,一个一个文件夹去看去找然后删除又很浪费时间。本文将介绍如何利用Python实现按目录层级输出文件名并保存为excel,需要的可以参考一下
    2022-02-02
  • python实现BP神经网络回归预测模型

    python实现BP神经网络回归预测模型

    这篇文章主要介绍了python实现BP神经网络回归预测模型,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python3 使用pip安装git并获取Yahoo金融数据的操作

    Python3 使用pip安装git并获取Yahoo金融数据的操作

    这篇文章主要介绍了Python3 使用pip安装git并获取Yahoo金融数据的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python 对dataframe下面的值进行大规模赋值方法

    python 对dataframe下面的值进行大规模赋值方法

    今天小编就为大家分享一篇python 对dataframe下面的值进行大规模赋值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python 字典和列表嵌套用法详解

    python 字典和列表嵌套用法详解

    python中字典和列表的使用,在数据处理中应该是最常用的,今天通过多种场景给大家分享python 字典和列表嵌套用法,感兴趣的朋友一起看看吧
    2021-06-06

最新评论