OpenCV Python入门:图像加载、显示与保存
需积分: 0 24 浏览量
更新于2024-08-04
收藏 2.92MB DOCX 举报
"OpenCV Python教程1"
OpenCV是一个强大的计算机视觉库,它广泛用于图像处理、计算机视觉以及机器学习等领域。这个教程是基于《OpenCV2 Computer Vision Application Programming Cookbook》一书的读书笔记,用Python语言重新实现了书中的代码。本教程主要关注图像的载入、显示和保存,适合已经对Python有一定了解,并且需要掌握OpenCV基础操作的读者。
首先,要使用OpenCV Python,你需要安装OpenCV库,通常通过pip install opencv-python命令进行安装。值得注意的是,OpenCV与NumPy库紧密集成,因此在处理图像时,你需要熟悉NumPy的基本操作,因为图像在OpenCV中被表示为NumPy数组。
加载图像非常简单,只需要使用cv2.imread()函数。例如,以下代码将加载名为"D:\cat.jpg"的图像:
```python
import cv2
img = cv2.imread("D:\cat.jpg")
```
cv2.imread()函数接受一个路径参数,返回一个NumPy数组,代表了图像的像素值。它支持多种图像格式,如bmp、jpg、png和tiff等。
要显示图像,可以创建一个窗口并使用cv2.imshow()函数。创建窗口的函数是cv2.namedWindow(),显示图像则使用cv2.imshow(),如下所示:
```python
cv2.namedWindow("Image")
cv2.imshow("Image", img)
```
在显示图像后,为了让窗口保持打开状态,需要调用cv2.waitKey()函数,它会等待用户按键事件。如果不调用此函数,窗口可能会立即关闭或者在某些环境中无法正常显示。完整的显示代码如下:
```python
cv2.waitKey(0)
cv2.destroyAllWindows()
```
cv2.waitKey(0)会阻塞程序直到用户按下任意键,cv2.destroyAllWindows()则用于关闭所有窗口,这是一个良好的编程习惯。
至于创建或复制图像,OpenCV不再提供像cv2.CreateImage()这样的接口。你可以使用NumPy的函数来实现。例如,创建一个与原图同样大小的全零图像:
```python
emptyImage = np.zeros(img.shape, dtype=img.dtype)
```
这里的img.shape获取了原图的形状(行数、列数和通道数),dtype参数确保新图像的数据类型与原图一致。
通过这些基本操作,你可以开始探索OpenCV Python提供的各种图像处理功能,包括颜色空间转换、滤波、特征检测、图像分割等等。学习OpenCV Python不仅有助于理解图像处理的原理,还可以为开发涉及图像分析的应用打下坚实的基础。
2018-07-18 上传
2023-03-22 上传
2022-05-27 上传
2018-02-12 上传
164 浏览量
2022-09-21 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
BellWang
- 粉丝: 28
- 资源: 315
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载