VisionPro Blob、条码识别、OCR 核心学习笔记
一、Blob 斑点分析工具(CogBlobTool)
1. 核心概述
-
定义 :基于灰度阈值分割,将图像分为前景(斑点)和背景,提取并分析图像中的二维连通区域。
-
核心输出属性:面积、质心(X/Y)、周长、主轴角度、外接矩形、圆度、孔洞数等。
-
适用场景:
-
目标形状 / 尺寸差异大,无法用模板匹配(PMA)训练;
-
目标与背景灰度差异明显(高对比度);
-
目标无重叠、无接触,独立分布;
-
典型应用:药片检测、胶点检测、墨点定位、尺寸分类。
-
2. 核心原理
-
图像分割:按设定的灰度规则,将像素分为「斑点(前景)」和「背景」两类;
-
连通域分析:按邻域规则(4/8 邻域)合并连通像素,形成独立 Blob;
-
特征计算:对每个 Blob 计算面积、质心、形状等特征;
-
结果筛选:按特征范围(如面积 1000-5000)过滤无效 Blob。
3. 关键参数详解
(1)极性(Polarity)
定义斑点与背景的灰度关系,决定哪部分是目标:
-
黑底白点:背景为黑色(低灰度),斑点为白色(高灰度);
-
白底黑点:背景为白色(高灰度),斑点为黑色(低灰度);
-
特殊:斑点内的孔洞(白色斑点中的黑色区域)会被识别为「孔」,支持拓扑分析。
(2)阈值与分割模式(核心)
分割是 Blob 的第一步,决定能否正确提取目标,VisionPro 提供6 种分割算法,分为硬阈值、软阈值、相对阈值、动态阈值四大类:
| 分割类型 | 算法名称 | 核心原理 | 适用场景 | 优缺点 |
|---|---|---|---|---|
| 硬阈值 | 固定硬阈值 | 一刀切:灰度>阈值 = 斑点,<阈值 = 背景(或反之) | 图像灰度呈双峰分布(目标与背景灰度区分明显),光照稳定 | 速度最快,配置简单;光照变化时极易失效 |
| 相对硬阈值 | 按像素占比分割:取灰度直方图中前 N% 像素为斑点,不受绝对灰度影响 | 光照线性变化(整体变亮 / 变暗),但目标与背景占比固定 | 抗光照变化强,无需手动调阈值;速度略慢于固定阈值 | |
| 动态硬阈值 | 基于直方图自动计算最优阈值(最小化类间方差) | 双峰分布图像,不想手动调阈值;光照轻微波动 | 自适应强,无需固定阈值;非双峰图像分割效果差 | |
| 软阈值 | 固定软阈值 | 分三部分:斑点、背景、过渡区,过渡区按权重归属 | 目标与背景间有模糊过渡(如渐变、毛边) | 分割更细腻,减少边缘误判;计算量更大 |
| 相对软阈值 | 结合相对占比 + 软过渡,抗光照 + 兼容过渡区 | 光照变化 + 边缘模糊的场景 | 兼顾抗光照与边缘精度;配置复杂 |
关键区别:
硬阈值:非黑即白,无过渡;
软阈值:允许过渡区,按权重分配;
固定阈值:依赖绝对灰度,速度快;
相对阈值:依赖像素占比,抗光照强。
(3)连通性(Connectivity)
定义像素如何判定为「连通」,直接影响 Blob 数量:
-
8 邻域(目标默认):上下左右 + 4 个斜对角,只要相邻(包括斜角)就算连通;
-
4 邻域(背景默认):仅上下左右,斜对角不算连通;
-
示例:斜向排列的像素,8 邻域算 1 个 Blob,4 邻域算多个独立 Blob。
(4)形态学操作(Morphology)
对分割后的二值图像做预处理,优化 Blob 形状:
-
膨胀:白色区域(斑点)变大,填补小孔洞;
-
腐蚀:白色区域变小,消除细小毛刺;
-
开闭运算:先腐蚀后膨胀(开运算,去毛刺)、先膨胀后腐蚀(闭运算,填孔洞);
-
注意:无论极性如何,形态学操作始终针对白色区域。
(5)测得尺寸与筛选
-
可添加面积、周长、圆度、长宽比等测量属性;
-
支持按范围筛选:如面积 1000~5000、圆度>0.8;
-
勾选属性越多,工具运行速度越慢,按需选择。
(6)拓扑(Topology)
-
识别「斑点、孔、孔中斑点」三级结构;
-
适用于带孔洞的目标(如垫片、环形工件),可统计孔洞数量、孔洞面积。
4. 标准操作流程
-
加载图像,添加
CogBlobTool; -
设置极性(黑底白点 / 白底黑点);
-
选择分割模式(光照稳定选固定硬阈值,光照变化选相对硬阈值);
-
调整阈值 / 占比,预览分割效果(确保目标完整、无背景干扰);
-
按需添加形态学操作(去毛刺 / 填孔洞);
-
设置测量属性 与筛选范围(如面积、圆度);
-
运行工具,查看有效 Blob 结果。
5. 核心总结
-
Blob 核心是灰度分割 + 连通域分析,依赖高对比度;
-
光照稳定用固定硬阈值 (最快),光照变化用相对硬阈值(最稳);
-
8 邻域适合连续目标,4 邻域适合分离目标;
-
形态学用于优化二值图像,筛选用于剔除无效斑点。
二、条码识别(CogIDTool)
1. 一维码 vs 二维码
(1)一维码(线性条码)
-
仅在宽度方向存储数据,长度方向无信息;
-
常见类型:Code 128(全 ASCII,高密度)、Code 39(字母 + 数字)、UPC/EAN(零售商品)、Codabar、POSTNET(邮政);
-
特点:数据量小,仅存数字 / 字母,需静区(空白区),易污损失效。
(2)二维码(二维条码)
-
长度 + 宽度均存储数据,含定位点与容错机制;
-
常见类型:QR Code(通用)、Data Matrix(DPM 首选)、PDF417(堆叠式)、汉信码;
-
特点:数据量大(可存文本、链接、图片),360° 可读,污损 / 残缺仍可解码(容错)。
(3)DPM(直接元件标记)
-
直接在产品表面标记条码(激光、喷墨、打点、蚀刻),无标签;
-
首选码型:Data Matrix、QR Code;
-
适用:汽车、航空、电子元件的全生命周期追溯。
2. 条码等级(ISO 标准)
按 ISO/IEC 15416(一维)、15415(二维)、TR 29158(DPM)分为 5 级:
-
A 级:最高质量,全环境可读;
-
B/C 级:通用商业场景(超市、物流);
-
D 级:质量差,仅特定设备可读;
-
F 级:无法识别,需重打 / 更换。
3. CogIDTool 核心优势
VisionPro 新一代通用读码工具,替代传统 Barcode/2DSymbol 工具,核心能力:
-
同时支持一维码 + 二维码,无需分开工具;
-
同图可识别多种一维码 、多个同类型二维码;
-
支持高旋转、透视变形、污损条码;
-
两种解码算法:
-
IDQuick:快速,适合高质量、高对比度条码;
-
IDMax:默认,鲁棒性强,适合低质量、污损、变形条码。
-
4. 图像要求
(1)一维码
-
码宽>50 像素,模块宽度<50 像素;
-
模块宽度>1.6 像素(非线性码)、>2.5 像素(邮政码);
-
必须有静区,对比度>32;
-
像素高宽比≤1.35:1。
(2)二维码
-
四周有等宽静区即可,要求更低;
-
支持 DPM、模糊、变形码。
5. 结果输出
成功解码后输出:
-
解码字符串(核心数据);
-
码中心 X/Y、旋转角度(弧度 / 角度);
-
四个角点坐标;
-
码类型、ISO 标准信息。
6. 操作流程
-
加载图像,添加
CogIDTool; -
选择解码算法(默认 IDMax);
-
勾选支持的码型(一维 / 二维码);
-
框选 ROI(缩小识别范围,提升速度);
-
运行工具,查看解码结果与码位置。
三、OCR 字符识别(CogOCRMaxTool)
1. 核心概述
-
基于字符分割 + 模板匹配,读取图像中的印刷 / 雕刻字符;
-
应用场景:生产日期、序列号、批次号、型号等字符读取。
-
核心流程:字符分割 → 字符训练(建库) → 字符识别 → 结果输出。
2. 关键步骤
(1)字符分割
将字符从背景中分离,并将连续字符切分为单个字符:
-
核心参数:阈值、字符最小 / 最大宽度、字符间距、行间距;
-
目标:每个字符独立分割,无粘连、无断裂。
(2)字符训练(建库)
-
工具默认无字符库,需手动添加所有待识别字符(0-9、A-Z、符号等);
-
支持:从图像提取字符、手动输入字符、加载已有字符库;
-
要求:字符库包含所有可能出现的字符,否则无法识别。
(3)识别与参数调整
-
调整 ROI、方向(训练与识别方向必须一致);
-
多行字符需多个 OCR 工具分别处理;
-
字符位置不确定时,先通过 PMA/Blob 定位,再将 OCR ROI 绑定定位结果。
3. 核心参数
-
ROI 区域:框选字符所在区域,减少干扰;
-
区段参数:字符宽度、间距、行高,控制分割效果;
-
阈值:分离字符与背景;
-
字体库:保存 / 加载训练好的字符集,复用项目。
4. 操作流程
-
加载图像,添加
CogOCRMaxTool; -
框选 ROI,设置字符方向;
-
调整阈值与分割参数,确保字符正确分割;
-
提取字符,建立字符库(添加所有待识别字符);
-
运行工具,查看识别结果;
-
保存字符库,便于复用。
5. 注意事项
-
多行字符:每个行对应一个 OCR 工具;
-
位置不确定:先定位(PMA/Blob),再做 OCR;
-
方向一致:训练字符的方向与识别方向必须相同;
-
字符库:可保存为文件,跨项目加载复用。
四、三大工具适用场景对比
| 工具类型 | 核心能力 | 适用目标 | 依赖条件 | 典型应用 |
|---|---|---|---|---|
| Blob | 灰度分割 + 形状分析 | 二维连通区域(斑点、孔洞) | 高对比度、无重叠、形状 / 尺寸差异大 | 药片、胶点、墨点、尺寸分类 |
| CogIDTool | 一维 / 二维码解码 | 条码、二维码 | 有清晰条码 / 二维码、满足最小像素 / 对比度 | 商品追溯、DPM 元件、物流标签 |
| CogOCRMaxTool | 字符识别 | 印刷 / 雕刻字符(数字、字母、符号) | 字符清晰、可分割、有字符库 | 生产日期、序列号、型号读取 |
需要我把这份笔记整理成可直接复制的结构化速记版吗?方便你快速查阅核心参数和操作流程。