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 相关文章推荐
PyMongo安装使用笔记
Apr 27 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Python正则简单实例分析
Mar 21 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
Python将多个list合并为1个list的方法
Jun 27 Python
python3中property使用方法详解
Apr 23 Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
Python实现手势识别
Oct 21 Python
Django admin组件的使用
Oct 24 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
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
python利用beautifulSoup实现爬虫
2014/09/29 Python
详解Python编程中time模块的使用
2015/11/20 Python
python实现贪吃蛇小游戏
2020/03/21 Python
Python openpyxl读取单元格字体颜色过程解析
2019/09/03 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
银行学习十八大感想
2014/01/11 职场文书
群众路线剖析材料
2014/02/02 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
计划生育证明书写要求
2014/09/17 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏
SQL Server删除表中的重复数据
2022/05/25 SQL Server
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL