-
bbianji8 用户
OpenCV 计算机视觉完全教程:从读图到做出能识别物体的程序
想给照片自动去噪、给视频加特效、或者让程序「看懂」摄像头里的东西?OpenCV 是开源计算机视觉的瑞士军刀,C++/Python 都能用,几乎是视觉项目的标配。本文带你从零读图、做图像处理、跑人脸检测,写出能实时处理摄像头的脚本。
一、原理背景
1.1 什么是 OpenCV
OpenCV(Open Source Computer Vision Library)是英特尔发起、现在由社区维护的视觉库,包含 2500+ 算法:图像滤波、特征提取、目标检测、视频分析、相机标定等。Python 绑定 opencv-python 让算法调用变得极简。
1.2 图像在计算机里是什么
一张彩色图 = 一个 高 × 宽 × 3 的 NumPy 数组,每个像素是 (B, G, R) 三通道 0-255 的值(注意 OpenCV 默认 BGR 而非 RGB,这是新手最常踩的坑)。灰度图则是 高×宽 的单通道数组。
1.3 常见任务分类
- 图像处理:缩放、裁剪、旋转、滤波、边缘检测、阈值化。
- 特征与几何:角点、轮廓、模板匹配、霍夫变换(找直线/圆)。
- 视频:逐帧读取(
VideoCapture),处理后再写出。 - 检测/识别:人脸、二维码、预训练模型(YOLO 等)做目标检测。
1.4 为什么用 NumPy 思维
Ope