Python OpenCV超详细讲解调整大小与图像操作的实现

作者:振华OPPO 时间:2022-07-09 21:16:27 

准备工作

右击新建的项目,选择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最基础的应用,为后面打下基础。眼过千遍不如手过一遍,快去动手敲一遍吧~💘

来源:https://blog.csdn.net/qq_42257666/article/details/122907866

标签:Python OpenCV,图像操作,调整大小
0
投稿

猜你喜欢

  • PHP实现获取第一个中文首字母并进行排序的方法

    2023-10-30 12:29:08
  • php中重定向网页跳转方法总结案例教程

    2023-06-11 20:47:18
  • 教你在MySQL 5.0以上版本中配置主从库

    2009-01-04 13:17:00
  • 如何理解python中数字列表

    2023-01-30 13:29:09
  • python数学建模是加深Numpy和Pandas学习

    2021-04-28 17:21:12
  • python入门for循环嵌套理解学习

    2021-03-01 21:42:16
  • JS 替换和时间插件的结合使用方法

    2013-08-19 16:50:31
  • 用XML和XSL来生成动态页面

    2008-09-04 10:35:00
  • Python绑定方法与非绑定方法详解

    2021-04-12 00:20:19
  • ASP与MySQL的连接[图文教程]

    2010-03-14 11:21:00
  • php下检测字符串是否是utf8编码的代码

    2023-11-15 16:00:59
  • Apache DophinScheduler定时调度Python脚本的实现

    2021-06-23 15:02:54
  • python文件比较示例分享

    2023-03-17 21:10:23
  • oracle学习笔记(三)

    2012-01-05 19:28:42
  • 一个不错的js+css二级分类菜单代码

    2007-12-28 21:22:00
  • asp是的日期转换为星座的函数

    2011-02-26 11:11:00
  • Dreamweaver里使用层的一些建议

    2010-03-25 12:27:00
  • php简单获取复选框值的方法

    2023-11-15 20:57:28
  • Python通过队列实现进程间通信详情

    2023-07-24 17:49:44
  • 深度剖析使用python抓取网页正文的源码

    2022-09-29 15:53:39
  • asp之家 网络编程 m.aspxhome.com