OpenCV Python入门:图像加载、显示与保存

需积分: 0 5 下载量 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不仅有助于理解图像处理的原理,还可以为开发涉及图像分析的应用打下坚实的基础。