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的re模块应用实例
Sep 26 Python
Python while 循环使用的简单实例
Jun 08 Python
简单掌握Python中glob模块查找文件路径的用法
Jul 05 Python
Python表示矩阵的方法分析
May 26 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
Python之inspect模块实现获取加载模块路径的方法
Oct 16 Python
浅谈python标准库--functools.partial
Mar 13 Python
Python绘制频率分布直方图的示例
Jul 08 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
Python reduce函数作用及实例解析
May 08 Python
Python入门基础之数字字符串与列表
Feb 01 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
pw的一个放后门的方法分析
2007/10/08 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
用javascript实现页面打印的三种方法
2007/03/05 Javascript
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
javascript json2 使用方法
2010/03/16 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
javascript实现下雨效果
2017/03/27 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
python使用zip将list转为json的方法
2018/12/31 Python
详解python中的数据类型和控制流
2019/08/08 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
纽约手袋品牌:KARA
2018/03/18 全球购物
Python使用openpyxl复制整张sheet
2021/03/24 Python
金融专业推荐信
2013/11/14 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
聘用意向书范本
2014/04/01 职场文书
员工培训协议书
2014/09/15 职场文书