Skip to content

计算机视觉与 OpenCV

本页解决什么:区分图像分类、目标检测、分割、OCR 等定性视觉任务,以及 DIC、PIV、光流等定量测量任务,帮助 PM 判断视觉项目到底输出标签、位置、mask,还是物理量场。
计算机视觉、DIC 与 PIV 从定性识别到定量测量的关系图
视觉任务不只有“识别是什么”:在工程实验中,更关键的是测量位移、应变、速度和误差。
计算机视觉从采集、标定、预处理、模型、跟踪到测量的处理管线图
视觉工程通常不是单个模型,而是一条从成像条件到算法输出再到物理量校验的管线。

基本原理

计算机视觉让机器从图像和视频中提取结构化信息。传统视觉侧重像素处理、几何、特征点、光流和相机标定;深度视觉侧重用 CNN、Transformer 等模型学习图像表示。

OpenCV 是视觉工程库,不是深度学习模型本身。它负责图像读取、滤波、边缘、阈值、轮廓、特征匹配、相机标定、视频流和可视化,常用于模型前处理和后处理。

解决的问题

类型问题输出
定性视觉图像里有什么,在哪里,是否异常类别、检测框、分割 mask、OCR 文本
定量视觉多大、多快、如何变形、如何运动长度、面积、速度、位移、应变、轨迹
视觉工程图像质量差、畸变、视角变化、实时视频校正图、增强图、ROI、测量结果

AIMA 感知章节映射

AIMA 将感知放在智能体闭环中:传感器从环境获得观测,系统把观测解释为可行动的信息。现代 CV 继承这个逻辑,只是传感器从简单输入扩展到相机、激光雷达、显微图像、高速视频和多模态数据。

AIMA 感知问题现代 CV 对应应用
从传感器获得环境信息图像采集、标定、去噪工业相机、机器人、自动驾驶
从低层信号提取结构边缘、角点、轮廓、光流OpenCV 前处理、DIC/PIV
识别对象和场景分类、检测、分割质检、医学影像、安防
将感知用于行动感知-规划-控制闭环机器人、自动实验、Agent 工具调用

应用场景

  • 工业质检:缺陷检测、尺寸测量、表面瑕疵识别。
  • 医学影像:病灶分割、组织分类、影像辅助分析。
  • 交通与安防:车辆检测、行人跟踪、事件识别。
  • 实验工程:高速相机视频处理、DIC/PIV 前处理、光流分析。
  • 农业与遥感:作物识别、病虫害检测、地物分割。

Python 库

作用适用边界
opencv-python图像/视频处理、标定、轮廓、光流视觉工程基础
scikit-image图像处理算法和测量科研和图像分析
Pillow图像读写和轻量处理简单图像任务
ultralyticsYOLO 检测与分割快速目标检测
detectron2检测、实例分割、关键点研究和复杂视觉任务

最小示例

python
import cv2

image = cv2.imread("part.jpg", cv2.IMREAD_GRAYSCALE)
blur = cv2.GaussianBlur(image, (5, 5), 0)
_, binary = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

areas = [cv2.contourArea(c) for c in contours]
print(f"detected regions: {len(areas)}, max area: {max(areas, default=0):.1f}")

这个示例展示了传统视觉的基本流程:读取图像、去噪、阈值、轮廓、测量。它适合规则明显、对数据量要求低的场景。

工程流程概览

图像采集 -> 标定/校正 -> ROI 和增强 -> 检测/分割/测量 -> 结果可视化 -> 人工或业务规则验证。

下一步

维知 Wiki · 面向应用工程的 AI 知识与训练系统