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 命令行也可以自动补全
Nov 30 Python
python静态方法实例
Jan 14 Python
浅谈MySQL中的触发器
May 05 Python
Python实现给qq邮箱发送邮件的方法
May 28 Python
Python中矩阵库Numpy基本操作详解
Nov 21 Python
Python实现线程状态监测简单示例
Mar 28 Python
pandas string转dataframe的方法
Apr 11 Python
opencv python 基于KNN的手写体识别的实例
Aug 03 Python
Python sorted排序方法如何实现
Mar 31 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
Python的信号库Blinker用法详解
Dec 31 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
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
Javascript MD4
2006/12/20 Javascript
jQuery 常见学习网站与参考书
2009/11/09 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
Python-基础-入门 简介
2014/08/09 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
python获取多线程及子线程的返回值
2017/11/15 Python
python字符串循环左移
2019/03/08 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
jQuery实现影院选座订座效果
2021/04/13 jQuery
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python