VisionPro Blob、条码识别、OCR 核心学习笔记

VisionPro Blob、条码识别、OCR 核心学习笔记

一、Blob 斑点分析工具(CogBlobTool)

1. 核心概述

  • 定义 :基于灰度阈值分割,将图像分为前景(斑点)和背景,提取并分析图像中的二维连通区域。

  • 核心输出属性:面积、质心(X/Y)、周长、主轴角度、外接矩形、圆度、孔洞数等。

  • 适用场景:

    • 目标形状 / 尺寸差异大,无法用模板匹配(PMA)训练;

    • 目标与背景灰度差异明显(高对比度);

    • 目标无重叠、无接触,独立分布;

    • 典型应用:药片检测、胶点检测、墨点定位、尺寸分类。

2. 核心原理

  1. 图像分割:按设定的灰度规则,将像素分为「斑点(前景)」和「背景」两类;

  2. 连通域分析:按邻域规则(4/8 邻域)合并连通像素,形成独立 Blob;

  3. 特征计算:对每个 Blob 计算面积、质心、形状等特征;

  4. 结果筛选:按特征范围(如面积 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. 标准操作流程

  1. 加载图像,添加CogBlobTool

  2. 设置极性(黑底白点 / 白底黑点);

  3. 选择分割模式(光照稳定选固定硬阈值,光照变化选相对硬阈值);

  4. 调整阈值 / 占比,预览分割效果(确保目标完整、无背景干扰);

  5. 按需添加形态学操作(去毛刺 / 填孔洞);

  6. 设置测量属性筛选范围(如面积、圆度);

  7. 运行工具,查看有效 Blob 结果。

5. 核心总结

  1. Blob 核心是灰度分割 + 连通域分析,依赖高对比度;

  2. 光照稳定用固定硬阈值 (最快),光照变化用相对硬阈值(最稳);

  3. 8 邻域适合连续目标,4 邻域适合分离目标;

  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 工具,核心能力:

  1. 同时支持一维码 + 二维码,无需分开工具;

  2. 同图可识别多种一维码多个同类型二维码

  3. 支持高旋转、透视变形、污损条码

  4. 两种解码算法:

    • IDQuick:快速,适合高质量、高对比度条码;

    • IDMax:默认,鲁棒性强,适合低质量、污损、变形条码。

4. 图像要求

(1)一维码
  • 码宽>50 像素,模块宽度<50 像素;

  • 模块宽度>1.6 像素(非线性码)、>2.5 像素(邮政码);

  • 必须有静区,对比度>32;

  • 像素高宽比≤1.35:1。

(2)二维码
  • 四周有等宽静区即可,要求更低;

  • 支持 DPM、模糊、变形码。

5. 结果输出

成功解码后输出:

  • 解码字符串(核心数据);

  • 码中心 X/Y、旋转角度(弧度 / 角度);

  • 四个角点坐标;

  • 码类型、ISO 标准信息。

6. 操作流程

  1. 加载图像,添加CogIDTool

  2. 选择解码算法(默认 IDMax);

  3. 勾选支持的码型(一维 / 二维码);

  4. 框选 ROI(缩小识别范围,提升速度);

  5. 运行工具,查看解码结果与码位置。


三、OCR 字符识别(CogOCRMaxTool)

1. 核心概述

  • 基于字符分割 + 模板匹配,读取图像中的印刷 / 雕刻字符;

  • 应用场景:生产日期、序列号、批次号、型号等字符读取。

  • 核心流程:字符分割 → 字符训练(建库) → 字符识别 → 结果输出

2. 关键步骤

(1)字符分割

将字符从背景中分离,并将连续字符切分为单个字符:

  • 核心参数:阈值、字符最小 / 最大宽度、字符间距、行间距;

  • 目标:每个字符独立分割,无粘连、无断裂。

(2)字符训练(建库)
  • 工具默认无字符库,需手动添加所有待识别字符(0-9、A-Z、符号等);

  • 支持:从图像提取字符、手动输入字符、加载已有字符库;

  • 要求:字符库包含所有可能出现的字符,否则无法识别。

(3)识别与参数调整
  • 调整 ROI、方向(训练与识别方向必须一致);

  • 多行字符需多个 OCR 工具分别处理;

  • 字符位置不确定时,先通过 PMA/Blob 定位,再将 OCR ROI 绑定定位结果。

3. 核心参数

  • ROI 区域:框选字符所在区域,减少干扰;

  • 区段参数:字符宽度、间距、行高,控制分割效果;

  • 阈值:分离字符与背景;

  • 字体库:保存 / 加载训练好的字符集,复用项目。

4. 操作流程

  1. 加载图像,添加CogOCRMaxTool

  2. 框选 ROI,设置字符方向;

  3. 调整阈值与分割参数,确保字符正确分割;

  4. 提取字符,建立字符库(添加所有待识别字符);

  5. 运行工具,查看识别结果;

  6. 保存字符库,便于复用。

5. 注意事项

  1. 多行字符:每个行对应一个 OCR 工具;

  2. 位置不确定:先定位(PMA/Blob),再做 OCR;

  3. 方向一致:训练字符的方向与识别方向必须相同;

  4. 字符库:可保存为文件,跨项目加载复用。


四、三大工具适用场景对比

工具类型 核心能力 适用目标 依赖条件 典型应用
Blob 灰度分割 + 形状分析 二维连通区域(斑点、孔洞) 高对比度、无重叠、形状 / 尺寸差异大 药片、胶点、墨点、尺寸分类
CogIDTool 一维 / 二维码解码 条码、二维码 有清晰条码 / 二维码、满足最小像素 / 对比度 商品追溯、DPM 元件、物流标签
CogOCRMaxTool 字符识别 印刷 / 雕刻字符(数字、字母、符号) 字符清晰、可分割、有字符库 生产日期、序列号、型号读取

需要我把这份笔记整理成可直接复制的结构化速记版吗?方便你快速查阅核心参数和操作流程。

相关推荐
众趣科技2 小时前
前馈神经网络入门:空间计算的三维重建魔法
人工智能·神经网络·空间计算
ws2019072 小时前
AI重塑第三空间,AUTO TECH China 2026广州汽车智能座舱展解锁产业升级新密码
人工智能·科技·汽车
fanstuck2 小时前
从 0 到 1 构建企业智能体平台:openJiuwen 架构解析与智能客服工作流实战
大数据·人工智能·算法·架构·aigc
Coovally AI模型快速验证2 小时前
“看起来像世界”≠“真世界”!WorldLens全维度解构自动驾驶世界模型
人工智能·机器学习·计算机视觉·目标跟踪·自动驾驶·ocr
Elastic 中国社区官方博客2 小时前
Jina Rerankers 为 Elastic 推理服务(EIS)带来了快速、多语言的重排序能力
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
ejinxian2 小时前
谷歌发布 Project Genie:基于文本生成可互动 3D 虚拟世界
人工智能·3d·project genie
Promise微笑2 小时前
信任重构与AI采信:深度解析“两大核心+四轮驱动”Geo优化新范式
人工智能·重构
光羽隹衡2 小时前
计算机视觉——Opencv(角点检测和特征提取)
人工智能·opencv·计算机视觉
小饼干超人2 小时前
pytorch返回张量元素总数量的方法 x.numel()
人工智能·pytorch·python