cv2 是 OpenCV 的 Python 接口,OpenCV(Open Source Computer Vision Library)是一个跨平台、开源的计算机视觉库,由 Intel 最早开发,现已广泛应用于图像处理、机器视觉、实时检测、视频分析等领域。
借助 cv2,开发者可以轻松实现图像读写、滤波变换、特征提取、人脸识别、目标追踪等各类视觉任务。
安装 :
推荐使用 pip 安装预编译版本:
pip install opencv-python如需视频/编解码支持:
pip install opencv-python-headless如需完整扩展(含 contrib 模块):
pip install opencv-contrib-python常见应用场景:
(1)图像读取、保存与格式转换。
(2)图像滤波、灰度化、二值化、边缘检测。
(3)图像几何变换(缩放、旋转、仿射等)。
(4)视频读取与逐帧处理。
(5)摄像头捕获与实时画面处理。
(6)图像特征提取(角点、边缘、轮廓)。
(7)人脸检测与识别、目标检测。
(8)OCR、姿态估计、手势识别等高级视觉任务。
◆◆ ◆
核心概念
1、图像是 NumPy 数组
在 cv2 中,图像被读入为三维 NumPy 数组(形如 (H, W, 3)),每个像素值通常是 uint8 类型,通道顺序为 BGR(蓝绿红),而非常见的 RGB。
2、实时处理友好
OpenCV 对实时场景优化良好,结合摄像头、OpenCL、GPU 或嵌入式设备使用广泛。
3、API 接口统一
无论是图像、视频还是实时流,大部分函数接口保持一致性,便于快速上手和调试。
◆◆ ◆
应用举例
例 1:读取图像并显示
cv2.destroyAllWindows() # 关闭所有窗口例 2: 保存图像
cv2.imwrite("output.jpg", img) # 将 NumPy 图像保存为文件例 3:图像预处理(灰度、模糊、边缘)
cv2.imshow("Edges", edges)例 4:使用摄像头实时捕获
cv2.destroyAllWindows()例 5:图像绘图(绘制矩形、文本)
cv2.imshow("Annotated", img)例 6: 人脸检测(Haar 分类器)
cv2.imshow("Faces", img)◆◆ ◆
常用函数与模块概览
1、图像读写
cv2.imread(path):读取图像为 NumPy 数组
cv2.imwrite(path, image):保存图像
cv2.cvtColor(image, flag):颜色空间转换(如 BGR ↔ Gray)
2、图像处理
cv2.resize():图像缩放
cv2.GaussianBlur():高斯模糊
cv2.Canny():边缘检测
cv2.threshold():图像二值化
cv2.equalizeHist():直方图均衡化(常用于增强)
3、绘图与注释
cv2.line(), cv2.rectangle(), cv2.circle():绘制图形
cv2.putText():绘制文字
cv2.polylines():绘制轮廓
4、视频与摄像头
cv2.VideoCapture():打开视频或摄像头流
cap.read():读取帧
cv2.VideoWriter():保存视频
5、特征与识别
cv2.CascadeClassifier():Haar 特征分类器
cv2.SIFT()、cv2.ORB():关键点检测与匹配
cv2.findContours():轮廓提取
◆◆ ◆
补充说明
1、图像数据结构说明
图像被加载为 NumPy 数组:
彩色图像:(高度, 宽度, 3),BGR 顺序
灰度图像:(高度, 宽度),单通道
像素值范围通常为 0~255,类型为 np.uint8
2、与其他库集成良好
与 NumPy 无缝配合进行矩阵运算
可与 matplotlib 联合可视化图像结果(需注意颜色通道顺序)
与 PyTorch、TensorFlow 搭配用于预处理模型输入
3、性能与兼容性
OpenCV 底层用 C++ 实现,性能极高
Python 接口部分使用 Cython 封装,调用开销极小
支持跨平台运行(Windows、Linux、macOS、树莓派)
小结
![]()
“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.