用途:OpenCV(Open Source Computer Vision Library)是实时计算机视觉、图像处理、相机标定与深度学习模型推理的标准库。适用于摄像头逐帧分析、机器人、工业自动化,以及深度学习前的图像预处理。
主要能力:图像预处理(缩放、归一化、阈值化、色彩空间转换);边缘、轮廓与形状检测(Canny 边缘检测、霍夫变换、边界框多边形计算);特征匹配与单应性(用 ORB、SIFT 对齐视角与匹配关键点);HSV 掩码颜色分割;视频流逐帧处理。
使用方式:安装后以 Python 导入 cv2。典型流程为读取图像、转灰度、高斯模糊、Canny 边缘检测并写出结果: import cv2 img = cv2.imread("input.jpg") gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) blurred = cv2.GaussianBlur(gray, (5, 5), 0) edges = cv2.Canny(blurred, threshold1=50, threshold2=150) cv2.imwrite("edges.jpg", edges) 视频处理用 cv2.VideoCapture(0) 循环读取帧,配合 cv2.imshow 与 cv2.waitKey 显示,退出后调用 cap.release() 与 cv2.destroyAllWindows()。
最佳实践:OpenCV 默认 BGR,转 Matplotlib/PyTorch 前用 cv2.COLOR_BGR2RGB;颜色分割在光照变化下优先用 HSV 或 LAB;边缘检测前先做高斯或双边模糊;模糊与形态学核用奇数(如 3x3、5x5);检查 cv2.imread() 返回值是否为 None。避免在采集循环内串行执行重型深度学习推理,应使用后台线程。
常见问题:cv2.error (-215:Assertion failed) !ssize.empty() 通常因路径错误导致读取为 None;VideoWriter 编解码不兼容可用 cv2.VideoWriter_fourcc(*'mp4v');导出图像颜色失真需做 BGR 到 RGB 转换。
限制:资料未提供安装命令、收费、价格、平台与效果等具体信息。