OpenCV(Open Source Computer Vision Library)是一套面向实时计算机视觉与图像处理的通用型库 ,覆盖从"像素级处理"到"高层视觉理解"的完整技术链路,广泛应用于工业、安防、医疗、自动驾驶、无人机、文档处理等领域。下面按能力层级 + 典型应用进行系统梳理。
一、基础图像处理(Image Processing)



这是 OpenCV 最核心、最稳定的能力层
1️⃣ 图像读写与格式处理
- 读取/保存:JPG、PNG、BMP、TIFF、WebP
- 颜色空间转换:RGB ↔ BGR ↔ GRAY ↔ HSV ↔ YUV
- 图像缩放、裁剪、旋转、翻转
2️⃣ 滤波与增强
- 平滑:均值、高斯、中值、双边滤波
- 锐化:拉普拉斯、Unsharp Mask
- 对比度增强:直方图均衡、CLAHE
3️⃣ 边缘与形态学
- 边缘检测:Canny、Sobel、Scharr
- 形态学:腐蚀、膨胀、开闭运算、骨架提取
二、几何变换与图像校正




4️⃣ 几何与投影变换
- 仿射变换(Affine)
- 透视变换(Perspective / Homography)
- 文档矫正(拍照 → 扫描件效果)
5️⃣ 相机与镜头校正
- 畸变校正(径向 / 切向)
- 标定相机内外参
- 多摄像头标定
👉 你之前做的"扫描文件自动扶正 + 四角点旋转"就是典型 OpenCV 应用场景
三、特征提取与传统视觉算法




6️⃣ 特征点与匹配
- ORB / AKAZE(免费可商用)
- SIFT / SURF(已解禁但注意许可)
- 应用:图像拼接、目标匹配、SLAM
7️⃣ 轮廓与形状分析
- 轮廓检测(findContours)
- 面积、周长、凸包、最小外接矩形
- 工业零件检测、表单定位
8️⃣ 模板与几何检测
- 模板匹配
- 霍夫直线 / 圆检测
- 表格线、二维码边框检测
四、视频处理与运动分析




9️⃣ 视频流处理
- 摄像头 / RTSP / 视频文件
- 帧抽取、编码、解码
🔟 运动检测与跟踪
- 背景建模(MOG2 / KNN)
- 光流(Lucas--Kanade / Farneback)
- 目标跟踪(KCF / CSRT / MOSSE)
五、目标检测与 AI 推理(结合 DNN)



1️⃣1️⃣ 深度学习推理(DNN 模块)
-
支持模型:ONNX / TensorFlow / Caffe / Darknet
-
常见用途:
- 人脸检测
- 目标检测(YOLO、SSD)
- OCR 前处理
⚠️ OpenCV 不是训练框架 ,而是高性能推理与预处理工具
六、OCR / 文档 / 工业质检



1️⃣2️⃣ OCR 前处理
-
二值化、倾斜矫正、噪点清理
-
表格线提取
-
与 Tesseract / PaddleOCR 联合
1️⃣3️⃣ 工业视觉
- 尺寸测量
- 缺陷检测(划痕、断裂)
- 批量图像自动质检
七、OpenCV 常见"误区澄清"
| 误解 | 实际情况 |
|---|---|
| OpenCV 只能做简单处理 | 实际覆盖从像素级到 DNN 推理 |
| OpenCV 不适合生产 | 工业、安防广泛使用 |
| OpenCV = AI | OpenCV 是视觉基础设施 |
| OpenCV 太慢 | C++ 核心 + SIMD + 多线程 |
八、一句话总结
OpenCV 是计算机视觉领域的"瑞士军刀"
------几乎所有视觉系统,底层都绕不开它。