Python OpenCV超详细讲解调整大小与图像操作的实现


Posted in Python onApril 02, 2022

准备工作

右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。

Python OpenCV超详细讲解调整大小与图像操作的实现

我们还要知道在OpenCV中,坐标轴的方向是x轴向右,y轴向下,坐标原点在左上角,比如下面这张长为640像素,宽为480像素的图片。OK,下面开始本节的学习吧。

Python OpenCV超详细讲解调整大小与图像操作的实现

查看图像大小

  • 调用imread()方法获取我们资源文件夹中的图片lambo.png
  • 输出图像的shape属性
img=cv2.imread("Resources/lambo.png")
print(img.shape)

我们来看下效果:

Python OpenCV超详细讲解调整大小与图像操作的实现

上图中462是图像的高度,也就是y轴;

623是图像的宽度,也就是x轴;

3是通道数,BGR(蓝绿红)通道

重新调整图像大小

  • resize()方法可以将图像调整到指定的宽和高,参数1是需要调整的图像img,参数2是(600,300),也就是新图像的宽和高。
  • 我们打印下imgResize的shape,看看是不是输出(300,600,3)。
  • 最后将原图和修改大小后的图像显示出来。
img=cv2.imread("Resources/lambo.png")
imgResize=cv2.resize(img,(600,300))
print(imgResize.shape)
cv2.imshow("img",img)
cv2.imshow("imgResize",imgResize)
cv2.waitKey(0)

我们来运行一下,可以看到右侧是调整后的图像,明显宽和高都比原图小:

Python OpenCV超详细讲解调整大小与图像操作的实现

来看下控制台的输出,和图像大小是一样的:

Python OpenCV超详细讲解调整大小与图像操作的实现

图像裁剪

图像裁剪其实就是对矩阵进行截取,选哪些行哪些列,显示选中行列的像素点,就是裁剪后的图像。imgCropped=img[200:400,200:400]就是对原图进行裁剪,高从200到400,宽也从200到400,区间范围只要不超过它的高和宽即可。

img=cv2.imread("Resources/lambo.png")
imgCropped=img[200:400,200:400]
cv2.imshow("img",img)
cv2.imshow("imgCropped",imgCropped)
cv2.waitKey(0)

我们运行看下效果,左侧是623X462的原图,右侧是200X200的裁剪图:

Python OpenCV超详细讲解调整大小与图像操作的实现

我们将裁剪的图像放到原图上进行覆盖,可以拼成原图。

Python OpenCV超详细讲解调整大小与图像操作的实现

本节内容也是比较简单的,主要是让大家熟悉下OpenCV最基础的应用,为后面打下基础。眼过千遍不如手过一遍,快去动手敲一遍吧~?

到此这篇关于Python OpenCV超详细讲解调整大小与图像操作的实现的文章就介绍到这了,更多相关Python OpenCV 图像操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python Web服务器Tornado使用小结
May 06 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
Django contenttypes 框架详解(小结)
Aug 13 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
Django 用户认证Auth组件的使用
Nov 30 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 Python
Python如何实现感知器的逻辑电路
Dec 25 Python
Python实现提取PDF简历信息并存入Excel
Apr 02 #Python
python对文档中元素删除,替换操作
Apr 02 #Python
Python中第三方库Faker的使用详解
Python数据处理的三个实用技巧分享
Python+Tkinter打造签名设计工具
Python正则表达式中flags参数的实例详解
Apr 01 #Python
Python+Tkinter制作专属图形化界面
You might like
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
PHP7 其他修改
2021/03/09 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
javascript异常处理实现原理详解
2020/02/17 Javascript
使用jquery实现轮播图效果
2021/01/02 jQuery
Vue ​v-model相关知识总结
2021/01/28 Vue.js
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
零基础小白多久能学会python
2020/06/22 Python
python上selenium的弹框操作实现
2020/07/13 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
类的核心特性有哪些
2014/01/01 面试题
办公室文员工作自我评价
2013/12/01 职场文书
党的群众路线学习材料
2014/05/16 职场文书
初二物理教学反思
2016/02/19 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
关于Python使用turtle库画任意图的问题
2022/04/01 Python
在Docker容器中部署SQL Server
2022/04/11 Servers