今天是持续写作的第 42 / 100 天。
如果你有想要交流的想法、技术,欢迎在评论区留言。

本篇博客只学习一个方法,cv2.resize 即图像缩放。

取经之旅第 9 天

  • 铺垫知识
  • resize 方法格式与参数
  • 程序的实现
  • 最后一个参数 interpolation
  • OpenCV 尾声

铺垫知识

在检索图像缩放的相关知识点时,找到了一个相关算法,名字叫做插值算法,具体涉及 最近邻插值算法双线性插值算法 等其它内容。

细看了一下,在学习的第 9 天就去涉及,实在不够明智,故略过本部分理论知识,直接使用 OpenCV 里面 resize 方法实现插值算法。

resize 方法格式与参数

resize 方法可以实现图像大小变换,包含缩放,默认的方法是刚才提及的 双线性插值算法

方法定义如下:

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

参数说明:

  • src:输入图像
  • dsize:输出图像的大小。如果该参数为 0,表示缩放之后的大小需要通过公式计算,dsize = Size(round(fx*src.cols),round(fy*src.rows))。其中 fxfy 是图像 Width 方向和 Height 方向的缩放比例。
  • fx:Width 方向的缩放比例,如果是 0,按照 dsize * width/src.cols 计算
  • fy:Height 方向的缩放比例,如果是 0,按照 dsize * height/src.rows 计算
  • interpolation:插值算法类型,或者叫做插值方式,默认为双线性插值

方法返回结果 dst 表示输出图像。

程序的实现

以下案例先将 dsize 设置为 None,在将 fxfy 设置为 0.5

import cv2
import numpy as npimg = cv2.imread('9.jpg')# 缩放比例:fx=0.5,fy=0.5
dst = cv2.resize(img,None,fx=0.5,fy=0.5,interpolation=cv2.INTER_LINEAR)
cv2.imshow('dst', dst)cv2.waitKey(0)


上述方法比较简单,直接通过缩放比例即可实现,你还可以先获取图片的原始尺寸,然后在进行比例上的调整。

import cv2img = cv2.imread('9.jpg')# 获取原图像的水平方向尺寸和垂直方向尺寸
height, width = img.shape[:2]
# dsize=(0.5*width,0.5*height)
dst = cv2.resize(img, (int(0.6 * width), int(0.5 * height)), interpolation=cv2.INTER_LINEAR)cv2.imshow('dst', dst)
cv2.waitKey(0)

上述代码与刚才的运行结果一致,此时,你已经掌握了 OpenCV 缩放图像最简单的形式了,并不需要现在就学会插值算法。

顺带一提,如果你不太想用现成的 resize 方法,想自己实现一下双线性插值算法,可以参考下述这篇文章。

https://altli.blog.csdn.net/article/details/109633710

最后一个参数 interpolation

interpolation 表示插值方式,有以下取值。

  1. INTER_NEAREST:最近邻插值
  2. INTER_LINEAR:线性插值(默认)
  3. INTER_AREA:区域插值
  4. INTER_CUBIC:三次样条插值
  5. INTER_LANCZOS4:Lanczos 插值

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

以上值都可以自行设置,查看不同的效果。

OpenCV 尾声

1 个小时又过去了,对 Python OpenCV 相关的知识点,你掌握了吗?

空闲之余,可以订阅橡皮擦的爬虫百例课程学习爬虫知识。

想学 Python 爬虫,可以订阅橡皮擦专栏哦~

Python OpenCV 图像缩放 cv2.resize 方法相关推荐

  1. python cv2.resize_Python OpenCV 图像缩放 cv2.resize 方法

    今天是持续写作的第 42 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客只学习一个方法,cv2.resize 即图像缩放. 取经之旅第 9 天 铺垫知识 resize 方 ...

  2. opencv: 图像缩放(cv2.resize)

    Syntax cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst interpolation 选项 所用的插值方法 INT ...

  3. OpenCV图像缩放函数resize()的使用

    OPenCV版本:4.4 IDE:VS2017 功能描述 简述:缩放一个图像 函数把源图像缩放大或缩放小到指定的大小,注意初始的dst的类型或大小不用考虑,而是从src,dsize,fx, 和fy获取 ...

  4. python opencv图像处理程序_Python-OpenCV学习(四):基本图像处理

    转载请注明出处:danscarlett的博客园 参考资料: 目录: 读取 imread 显示 imshow 存储 imwrite 缩放 resize 加边框 copyMakeBorder 裁剪 img ...

  5. 【Python+OpenCV 图像的缩放和裁剪】

    Python+OpenCV 图像的缩放和裁剪 代码部分 实现效果 代码部分 import cv2 import numpy as npimg = cv2.imread("Photos/1.b ...

  6. Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()

    Python,OpenCV图像金字塔cv2.pyrUp, cv2.pyrDown 1. 效果图 2. 原理 2.1 什么是图像金字塔 2.2 金字塔分类 2.3 应用 3. 源码 参考 这篇博客将介绍 ...

  7. OpenCV图像缩放resize各种插值方式的比较

    OpenCV图像缩放resize各种插值方式的比较 目录 OpenCV图像缩放resize各种插值方式的比较 1. resize函数说明 2.各种插值方式的比较 2.1 INTER_NEAREST(最 ...

  8. OpenCV图像缩放插值之BiCubic双三次插值

    图像缩放算法简介 在图像的仿射变换中,很多地方需要用到插值运算,常见的插值运算包括最邻近插值,双线性插值,双三次插值(立体插值),兰索思插值等方法,OpenCV提供了很多方法,其中,双线性插值由于折中 ...

  9. python opencv 图像旋转

    python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...

最新文章

  1. Kanade's trio 2017多校#3 trie
  2. 如何解决从数据库里面取出的时间晚了8个小时
  3. JupyterLab Server 搭建与使用笔记
  4. Selenium2+python自动化46-js解决click失效问题
  5. java.lang.ClassCastException
  6. QEMU KVM Libvirt手册(7): 硬件虚拟化
  7. Excel基础操作(二)
  8. PHP利用P3P实现跨域
  9. 认证(登录)功能需求分析
  10. 对网络数据包进行嗅探
  11. letsencrypt 自动续期不关闭nginx
  12. 解决交通拥堵、监测核辐射、野外搜救…无人机将有哪些神应用?
  13. C++之命名空间探究
  14. java类型之间的转换_java类型之间的转换
  15. 【机器学习系列】概率图模型第六讲:因子图和道德图
  16. onenote导入html文件,OneNote加入:获取HTML内容
  17. MySQL学习笔记(一)基本查询操作
  18. 领域驱动(自己理解)
  19. 平面方程(Plane Equation)求解方法
  20. hive分组排序 取top N

热门文章

  1. 软件开发环境SDK安装及注意事项
  2. [IJKPLAYER]编译与DEMO运行
  3. 上课为什么要认真听见?
  4. 学生的数学学习应当是一个生动活泼,积极主动和富有个性的过程,认真听讲,积极思考,动手实践,自主 探索,合作交流等都是学习数学的主要方式,请谈谈教师如何在教学中帮助学生养成良好的数学学习习惯(论述))
  5. 详解5种网站 静态网站、动态网站、伪静态网站、云计算网站都是什么
  6. 分布式系统高可用实战之限流器(Go 版本实现)
  7. 学习Linux驱动的一点笔记
  8. dubbo-admin的下载与安装
  9. PR标题动画模板 创意动态多行标题注释字幕条pr模板
  10. blob的txt下载方式