改变图像大小意味着改变尺寸,无论是单独的高或宽,还是两者。也可以按比例调整图像大小。

这里将介绍resize()函数的语法及实例。

语法

函数原型

cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])

参数:

参数

描述

src

【必需】原图像

dsize

【必需】输出图像所需大小

fx

【可选】沿水平轴的比例因子

fy

【可选】沿垂直轴的比例因子

interpolation

【可选】插值方式

【可选】插值方式

其中插值方式有很多种:

cv.INTER_NEAREST

最近邻插值

cv.INTER_LINEAR

双线性插值

cv.INTER_CUBIC

双线性插值

cv.INTER_AREA

使用像素区域关系重新采样。它可能是图像抽取的首选方法,因为它可以提供无莫尔条纹的结果。但是当图像被缩放时,它类似于INTER_NEAREST方法。

通常的,缩小使用cv.INTER_AREA,放缩使用cv.INTER_CUBIC(较慢)和cv.INTER_LINEAR(较快效果也不错)。默认情况下,所有的放缩都使用cv.INTER_LINEAR。

例子

保留高宽比

以下是我们将在其上进行实验的尺寸(149,200,4)(高度,宽度,通道数)的原始图像:

import cv2

img = cv2.imread('./Pictures/python.png', cv2.IMREAD_UNCHANGED)

print('Original Dimensions : ',img.shape)

scale_percent = 60 # percent of original size

width = int(img.shape[1] * scale_percent / 100)

height = int(img.shape[0] * scale_percent / 100)

dim = (width, height)

# resize image

resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)

print('Resized Dimensions : ',resized.shape)

cv2.imshow("Resized image", resized)

cv2.waitKey(0)

cv2.destroyAllWindows()

结果:

Original Dimensions : (149, 200, 4)

Resized Dimensions : (89, 120, 4)

调节scale_percent可以放大或缩小。需要准备shape先高再宽,参数是先宽再高。

还有一种方式,就是使用自带的参数fx和fy,更加方便。

import cv2

img = cv2.imread("./Pictures/python.png")

print('Original Dimensions : ', img.shape)

resized = cv2.resize(img, None, fx=0.6, fy=0.6, interpolation=cv2.INTER_AREA)

print('Resized Dimensions : ',resized.shape)

cv2.imshow("resized_img", resized)

cv2.waitKey(0)

不保留高宽比

例如,改变宽度,高度不变:

import cv2

img = cv2.imread("./Pictures/python.png")

print('Original Dimensions : ',img.shape)

width = 440

height = img.shape[0] # keep original height

dim = (width, height)

# resize image

resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)

print('Resized Dimensions : ',resized.shape)

cv2.imshow("Resized image", resized)

cv2.waitKey(0)

cv2.destroyAllWindows()

结果:

Original Dimensions : (149, 200, 4)

Resized Dimensions : (149, 440, 4)

指定高和宽

给定高和宽的像数值。

import cv2

img = cv2.imread("./Pictures/python.png")

print('Original Dimensions : ',img.shape)

width = 350

height = 450

dim = (width, height)

# resize image

resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)

print('Resized Dimensions : ',resized.shape)

cv2.imshow("Resized image", resized)

cv2.waitKey(0)

cv2.destroyAllWindows()

结果:

Original Dimensions : (149, 200, 4)

Resized Dimensions : (450, 350, 4)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。

python opencv resize函数_Python OpenCV中的resize()函数的使用相关推荐

  1. python中mat函数_python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳 ...

  2. python如何定义自定义函数_python类中系统自定义函数

    标签: python类 双下划线特殊函数 今天遇到python类内部系统以双下划线开头和结尾的情况,特去学习一部分的应用情况,顺便记录一下.python 的OOP编程中,每个类拥有一些系统特殊定义的函 ...

  3. python 类函数调用外部函数_python类中调用外部函数,python 函数中 定义类

    Q1:python函数里的数组如何在函数外调用出来 使用返回值的方法有两种: 可以直接把调用的函数作为变量使用 可以用调用函数给一个变量赋值 第一种情况见如下例子: l = [1,2,3,4,5] d ...

  4. python多线程的作用_Python多线程中三个函数的强大功能简介

    在Python多线程中有三个比较简单的函数,在实际的相关操作中你对这一实际操作是否了解?是否对其感兴趣?如果你想对Python多线程的开发与多线程程序及相关实际操作方案有所了解的话,你就可以点击以下的 ...

  5. Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...

  6. python文件定位函数_C语言中文件定位函数总结

    C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...

  7. rectpuls函数 matlab,Matlab中的rectpuls函数解析

    Matlab中的rectpuls函数解析 Matlab中的rectpuls函数解析 1.先看Matlab中的解释: This MATLAB function returns a continuous, ...

  8. Oracle中to_char函数和MySQL中的str_to_date函数区别

    标题Oracle中to_char函数和MySQL中的str_to_date函数 1. str_to_date()----->相当于Oracle中的to_char(): 字符串转换为日期格式 (1 ...

  9. 主成分分析函数Matlab,matlab中主成分分析的函数1

    princomp函数,pcacov函数,pcares函数,barttest matlab中主成分分析的函数 1. princomp函数 功能:主成分分析 格式:PC=princomp(X) [PC,S ...

  10. python人脸照片分类_Python OpenCV 人脸识别(一)

    前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...

最新文章

  1. python -m xxx.py 模块启动与直接启动python xxx.py 的区别,就是对sys.path的修改不同,导致可以调用的模块范围就不一样
  2. 个性化选修——软件工程相关笔记
  3. 检查一棵二叉树是否为二叉查找树
  4. Linux查看系统信息命令实例
  5. 2021牛客多校2 - WeChat Walk(分块)
  6. 有趣c语言编程经典例子,C语言简单有趣例子总结ZWF.pdf
  7. php+mysql记事本_一个简单记事本php操作mysql辅助类创建
  8. 小程序php支付,前后端分离
  9. 1、Spring Boot 中 SpringApplication初始化(ok)
  10. BZOJ1823[JSOI2010]满汉全席——2-SAT+tarjan缩点
  11. SonicWALL防火墙初探
  12. 数据结构与算法——线性表的链式储存结构
  13. 一题多解×2(流的概念+递归)
  14. Swift表格Lxr
  15. ubuntu18.04安装中中文输入法
  16. 计算机三级的英语单词,大学英语三级词汇表(新版)资料.doc
  17. win10 cortana 搜索失效
  18. Xposed框架搭建及模块编写相关问题
  19. VsCode配置快速注释
  20. STM32 USB AUDIO 基础篇①——通过STM32CubeMX生成USB Speaker音频播放Demo(史上最简单)

热门文章

  1. Web 单点登录系统
  2. 最优控制理论 一、变分法和泛函极值问题
  3. 最简单的基于FFmpeg的移动端例子:IOS 推流器
  4. html——黑体、斜体、下划线及删除线
  5. visual studio 2019 (vs) 显示右侧缩略图
  6. 删除windows换行符^M
  7. memcached企业面试题
  8. 性能之巅:Linux网络性能分析工具-netstat,ifconfig,nicstat,traceroute,tcpdump
  9. 在 Django 中使用 pyecharts
  10. 身份证识别——iOS端实现身份证检测