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中的__SLOTS__属性使用示例
Feb 18 Python
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
详解Python传入参数的几种方法
May 16 Python
对python 中class与变量的使用方法详解
Jun 26 Python
详解Django定时任务模块设计与实践
Jul 24 Python
Python中的list与tuple集合区别解析
Oct 12 Python
python redis 批量设置过期key过程解析
Nov 26 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
Pandas搭配lambda组合使用详解
Jan 22 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写的求多项式导数的函数代码
2012/07/04 PHP
深入PHP获取随机数字和字母的方法详解
2013/06/06 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
PHP中list方法用法示例
2016/12/01 PHP
js DOM模型操作
2009/12/28 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
一篇文章掌握RequireJS常用知识
2016/01/26 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
vue中appear的用法
2017/08/17 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
详解django中自定义标签和过滤器
2017/07/03 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
python实现多线程端口扫描
2019/08/31 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
搞笑爱情保证书
2014/04/29 职场文书
3分钟演讲稿
2014/04/30 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
龙门石窟导游词
2015/02/02 职场文书