OpenCV Python入门:图像加载、显示与保存
需积分: 0 168 浏览量
更新于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
最新资源
- VSS说明及使用方法
- Java认证之精辟总结
- oracle备份与还原数据库
- uml课程设计源代码
- 深入浅出MFC第二版 第三部分(内容介绍)
- MyEclipse+6+Java开发教程[优化整合版].pdf
- 深入浅出MFC第二版 第二部分(内容介绍)
- 深入浅出MFC第二版 第一部分(内容介绍)
- The Long Tail 长尾完整中译版
- 国家标准软件开发规范---数据要求说明书规范.pdf
- 国家标准软件开发规范---数据库设计说明规范.pdf
- dot.net编程专家
- Flex 3 CookBook 简体中文
- LoadRunner函数大全之中文解释
- Oracle数据库10g备份和恢复
- 卡巴斯基病毒处理过程简介