contribute上次修改:2026-09-29

1.1 OpenCV介绍与学习路线

总目录:1.1 OpenCV介绍与学习路线 | 第一章:认识图像与跑通流程 

下一节:1.2 图像、像素与坐标 →


1.1 OpenCV介绍与学习路线

OpenCV 的全名是 Open Source Computer Vision Library。它不是“会自动看懂世界的 AI”,更像是一只装满视觉工具的工具箱:从基础的读图、颜色转换、去噪、找边缘、提轮廓、绘图到进阶一些的3d世界的位姿解算、复杂图形的关键点检测……这些工作它都能干。通过合理搭配,这么一套数学工具也能让计算机”看“懂世界。 不过对于一些很复杂图形,如果算力足够,还是建议用一些神经网络,比如使用YOLO。

因此本篇笔记主要介绍基础用法,不过多涉及底层数学原理--> 目标是入门和会用 非常适合入门学习!!!

本篇笔记是以python为接口

import cv2

包名叫 opencv-python,导入时却写 cv2。这个名字是历史遗留,记住就好,不用和它较劲

在开始学习之前,最好需要知道python语法基础,数组的概念,numpy基础用法。

一、通过一个例子快速认识OpenCv流程

先看一个具体任务:从摄像头里找到一个红色圆球并得到它在图中的位置坐标。

摄像头读取画面
   ↓
转换到适合分颜色的 HSV
   ↓
按颜色范围生成黑白蒙版(比如在颜色范围内的就是白色)
   ↓
去掉小噪点、补上小缺口
   ↓
找到白色区域的轮廓
   ↓
根据面积、圆度筛选目标
   ↓
得到圆球中心坐标

OpenCV 主要负责中间这些“把像素一步步变成有用信息”的工作。 之后你就可以用提取出来的信息处理业务逻辑(就是任务代码)了。

二、先把图像看成数组

在 Python 里,OpenCV 图像通常就是 NumPy 数组:

image.shape
# (高度, 宽度, 通道数)

例如 (480, 640, 3) 表示:

  • 480 行像素,也就是高度;
  • 640 列像素,也就是宽度;
  • 每个像素有 3 个颜色通道。

因此“裁剪一块图像”其实就是切数组。详细概念见 1.2 图像、像素与坐标 和 1.5 NumPy与图像数组。

三、一条最常见的视觉流水线

以后看到一段很长的 OpenCV 代码,可以先按下面几类拆开:

阶段 要回答的问题 常见函数
输入 图像从哪里来? imread、VideoCapture、read
预处理 怎样让目标更好找? cvtColor、GaussianBlur、threshold、inRange
结构整理 怎样去噪、补洞、连边? erode、dilate、morphologyEx
特征提取 哪些像素组成边缘或物体? Canny、findContours、approxPolyDP
筛选 这是不是我要的目标? contourArea、arcLength
输出 怎样展示或交给控制程序? rectangle、putText、中心坐标

真正写项目时不要把它们糊成一团。建议每个阶段都保留一个能观察的中间结果,例如 mask、edges、morph。

四、系统学习总目录

第一章:认识图像与跑通流程

1.1 OpenCV介绍与学习路线:OpenCV 的定位、视觉流水线与总目录
1.2 图像、像素与坐标:分辨率、通道、BGR 与图像坐标
1.3 读取显示与保存图像:imread、imshow、waitKey、imwrite
1.4 视频与摄像头:VideoCapture、逐帧读取与资源释放
1.5 NumPy与图像数组:形状、切片、掩码与轮廓点格式

第二章:基础图像处理

2.1 颜色空间与通道:BGR、灰度、HSV 与颜色转换
2.2 缩放裁剪与拼接:resize、数组裁剪、横竖拼接
2.3 绘制图形与文字:线、矩形、圆、轮廓和文字
2.4 滤波与降噪:均值、高斯、中值和双边滤波
2.5 二值化与阈值:固定阈值、自适应阈值与 Otsu
2.6 形态学处理:腐蚀、膨胀、开运算与闭运算
2.7 HSV颜色检测:inRange、滑动条与颜色蒙版

第三章:边缘、轮廓与几何

3.1 Canny边缘检测:梯度、双阈值和边缘连接
3.2 查找与绘制轮廓:findContours、drawContours
3.3 轮廓层级:父子轮廓与四种检索模式
3.4 轮廓几何特征:面积、周长、质心、圆度与外接框
3.5 多边形逼近与形状识别:角点简化与基本形状判断
3.6 外接矩形与透视变换:旋转矩形、点排序和鸟瞰图
3.7 凸包凸缺陷与Solidity:凹陷结构与形状饱满程度

第四章:把知识连成项目

4.1 完整的形状检测流程:从原图到形状名称的可运行示例
4.2 摄像头检测与调参:实时循环、曝光、性能和排错
4.3 视觉控制中的坐标与滤波:像素误差、坐标系与一阶低通

五、学习时怎样使用这些笔记

建议顺着编号读,但不要只读不跑:

  1. 先复制最小示例,确认代码能执行;
  2. 显示每个中间图,不要只看最终框;
  3. 改一个参数,观察一个变化;
  4. 把函数参数换成自己的话解释;
  5. 最后再进入 完整项目。

六、参考


下一节:1.2 图像、像素与坐标 →

留言区

不收集任何个人信息;昵称只绑定浏览器里的随机 Cookie。