Python OpenCV图像基础操作:读取、缩放与裁剪详解

竹里
竹里
发布时间:2026-10-15| 6人浏览过
原创

本文详细介绍Python中使用OpenCV进行图像基础操作的方法。涵盖如何读取图像并获取其形状属性(高度、宽度、通道数),使用resize()函数调整图像尺寸,以及通过矩阵切片实现图像裁剪。包含完整代码示例与效果演示,帮助初学者快速掌握OpenCV核心功能。

准备工作

在已创建的项目中右键,选择新建Python文件。在代码开头import cv2导入cv2库以使用相关功能。

需明确OpenCV中坐标系的定义:x轴向右延伸,y轴向下延伸,坐标原点位于左上角。例如,一张宽640像素、高480像素的图片即遵循此坐标系。接下来开始具体操作学习。

查看图像大小

  • 首先调用imread()方法,从资源文件夹中加载名为lambo.png的图片。
  • 接着输出该图像的shape属性,以获取其尺寸信息。
img=cv2.imread("Resources/lambo.png")
print(img.shape)

观察运行结果如下:

  • 数值462代表图像的高度,对应y轴方向。
  • 数值623代表图像的宽度,对应x轴方向。
  • 数值3表示图像包含3个颜色通道,分别为蓝色(B)、绿色(G)和红色(R)。

重新调整图像大小

  • 使用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)

运行代码后,右侧窗口显示调整后的图像,可见其宽高均小于原图。

查看控制台输出,显示的数值与原图尺寸一致,符合预期。

图像裁剪

图像裁剪本质是对图像矩阵进行截取,通过选择特定的行和列来显示对应区域的像素点。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的裁剪后图像。

若将裁剪得到的图像重新放置回原图对应位置进行覆盖,可以还原出原始图像。

本节内容较为简单,旨在帮助读者熟悉OpenCV的基础应用,为后续深入学习奠定基础。实践出真知,建议动手编写代码进行练习。

至此,关于Python OpenCV调整大小与图像操作的讲解结束。如需了解更多相关Python OpenCV图像操作内容,请查阅本站往期文章或继续浏览后续章节。感谢支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。