赞
踩
目录
2.2.3 destroyAllWindows()方法销毁所有窗口
OpenCV(Open Source Computer Vision Library)是一个基于开源发行的跨平台计算机视觉库,由英特尔公司研发。OpenCV使用C++语言编写,但也提供了Python、Java和MATLAB等语言的接口,这使其在各种编程语言中都能得到广泛应用。同时,OpenCV支持Windows、Linux、Android和Mac OS等多个操作系统,具有良好的跨平台性能。
OpenCV的主要功能包括图像处理和计算机视觉。图像处理主要关注于对图像的处理操作,如增强、还原、去噪、分割等。而计算机视觉则更侧重于使用计算机来模拟人的视觉,这是计算机视觉领域的最终目标。OpenCV实现了图像处理和计算机视觉方面的很多通用算法,因此已成为计算机视觉领域最有力的研究工具。
OpenCV模块是指OpenCV库中的各个功能组件或子库,这些模块提供了丰富的计算机视觉和图像处理功能。以下是一些常见的OpenCV模块及其功能概述:
Core模块:这是OpenCV的基础模块,包含了一些基本的数据结构和函数,如图像矩阵(cv::Mat)、动态数据结构、绘图函数、数学函数等。
Imgproc模块:这个模块包含了大多数图像处理功能,如滤波、色彩空间转换、直方图、特征检测、图像变换等。
Video模块:这个模块包含了一些视频分析功能,如光流法、背景/前景分割、摄像头标定、视频稳定等。
Features2d模块:这个模块主要用于特征检测和描述,如SIFT、SURF、ORB等算法,以及特征匹配和几何变换等。
HighGui模块:这个模块提供了用户界面功能,如窗口显示、鼠标事件处理、图像保存和加载等。
VideoIO模块:这个模块负责视频的读取和写入,支持多种视频文件格式。
Calib3d模块:这个模块主要用于相机标定、三维重建和立体视觉等功能。
Objdetect模块:这个模块包含了一些目标检测算法,如人脸检测、行人检测、文本检测等。
pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple/
image = cv2.imread(filename, flags)
filename
:要读取的图像文件的名称,包括路径和扩展名。
flags
:这是一个可选参数,用于指定读取图像的方式。常用的标志有:
cv2.IMREAD_COLOR
:以彩色图像模式读取图片(默认值,等价于 flags=1
)。cv2.IMREAD_GRAYSCALE
:以灰度模式读取图片(等价于flags=0
)。cv2.IMREAD_UNCHANGED
:包括 alpha 通道(等价于 flags=-1
)。cv2.imshow(winname, mat)
winname
是窗口名称,mat
是要显示的图像。这个函数没有返回值,但它会在指定的窗口中显示图像。
主要作用是等待用户按下某个键,并返回该按键的 ASCII 码值。这个函数在图像处理的过程中经常被用来实现按键控制,例如通过按下特定的键(如 Esc 键)来退出程序
示例:
- import cv2
-
- # 读取图像
- image = cv2.imread('path_to_image.jpg')
-
- # 显示图像
- cv2.imshow('Image', image)
-
- # 等待用户按键
- cv2.waitKey(0)
-
- # 关闭所有窗口
- cv2.destroyAllWindows()
cv2.imwrite(filename, img, [params])
filename
:要写入的文件的名称,包括路径和文件扩展名。img
:要保存的图像,通常是一个NumPy数组。params
:一个可选参数,用于指定图像编码的参数。在大多数情况下,可以省略这个参数。imwrite
函数返回一个布尔值,如果图像成功写入文件,则返回True
;如果写入失败,则返回False
。示例:
- import cv2
-
- # 读取图像
- image = cv2.imread('input.jpg')
-
- # 对图像进行一些处理...
- # 例如,我们可以将图像转换为灰度
- gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
-
- # 将处理后的图像写入新的文件
- cv2.imwrite('output.jpg', gray_image)
首先使用cv2.imread
函数读取一个名为input.jpg
的图像文件。然后,我们使用cv2.cvtColor
函数将图像转换为灰度图像。最后,我们使用cv2.imwrite
函数将处理后的灰度图像写入到名为output.jpg
的新文件中。
示例:
- import cv2
-
- # 读取彩色图像
- color_image = cv2.imread('color_image.jpg')
- print("彩色图像的形状:", color_image.shape) # 输出: (高度, 宽度, 通道数)
-
- # 读取灰度图像
- gray_image = cv2.imread('gray_image.jpg', cv2.IMREAD_GRAYSCALE)
- print("灰度图像的形状:", gray_image.shape) # 输出: (高度, 宽度)
示例:
- print("彩色图像的大小:", color_image.size) # 输出: 高度 * 宽度 * 通道数
- print("灰度图像的大小:", gray_image.size) # 输出: 高度 * 宽度
示例:
- print("彩色图像的数据类型:", color_image.dtype) # 输出: uint8
- print("灰度图像的数据类型:", gray_image.dtype) # 输出: uint8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。