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脚本实现DNSPod DNS动态解析域名
Feb 14 Python
Python 读写文件和file对象的方法(推荐)
Sep 12 Python
Python实现将HTML转换成doc格式文件的方法示例
Nov 20 Python
python判断计算机是否有网络连接的实例
Dec 15 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
Pycharm最新激活码2019(推荐)
Dec 31 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
详解Python中pyautogui库的最全使用方法
Apr 01 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
python定义类的简单用法
Jul 24 Python
用Python创建简易网站图文教程
Jun 11 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
深入理解Django-Signals信号量
2019/02/19 Python
pandas如何处理缺失值
2019/07/31 Python
Python几种常见算法汇总
2020/06/02 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
外语学院毕业生的自我鉴定
2013/11/28 职场文书
2014年安全生产责任书
2014/07/22 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
会计工作检讨书
2015/02/19 职场文书
大学生读书笔记范文
2015/07/01 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
在Docker容器中部署SQL Server
2022/04/11 Servers