十个工具。一台相机。

正确的零件。
在正确的地方。
找到零件的位置和方向,以便下游检查区域遵循您需要检查的特征。
计算可见零件或特征,并将结果与您配置的目标范围进行比较。
测量间隙、直径或距离,然后将它们与您的极限进行比较。校准图像的物理单位。
将某个区域与颜色参考和允许的公差进行比较,以检查变异和一致性。
对您定义的类的示例进行训练,然后对零件或图像区域进行分类以进行检查。
使用图像来识别部件何时处于正确位置,无需外部触发传感器。

找出
关键缺陷。
识别属于缺陷的像素。检查位置和面积重要的划痕、涂层覆盖率和焊接质量。
从好的样本中学习,然后标记与该模式的偏差——即使缺陷示例很少。

阅读它。
然后验证一下。
每个 OCR 区域读取一行并将其与预期的字符串或模式进行比较。使用不同的区域来表示不同的批次、日期或产品代码行。
解码一维或二维条形码,然后根据检查期望的值检查其内容。
捕获内容错误的可读代码
选择一行文本并定义有效结果的样子。固定字符串适合必须完全匹配的产品标识符。通配符让指定位置包含数字、字母或其他允许的字符。日期模式支持在值更改时结构保持不变的代码。
如果上一批的清晰代码不满足当前要求,则该代码将失败。一旦定义了固定字符、允许的更改和日期结构,检查就会将该检查应用于每个捕获的代码。操作员可以专注于异常,而不是将每个字符与批次表进行比较。
在代码规则允许的情况下,可配置的混淆类可以将 O 和 0、S 和 5 或 B 和 8 等相似字符视为等效字符。缩小这些例外范围,这样真正不正确的标识符仍然会失败。
让阅读器适应您的生产标记
点间距、墨水扩散、磨损的打印头和表面纹理可能会使同一字符在运行过程中看起来有所不同。 Spark 提供可选的 OCR 培训,因此您可以添加相机需要读取的打印示例。这为您提供了一种解决麻烦的字符样式的方法,而无需围绕它重建整个检查。
保留一组单独的图像以检查结果。在普通通行证旁边包括容易混淆的字符、浅色标记和不正确的代码。如果角色消失在眩光中或落在图像之外,请先修复捕捉。训练需要足够的可见信息来区分一个角色和另一个角色。
使用板载库中保存的图像来收集困难打印的有用示例。使用经过审查的示例重新训练 OCR 工具,然后对照单独的示例检查其阅读和内容规则。
读取其自身形状的弯曲印刷品
瓶盖周围印刷的文字无法整齐地融入直矩形条中。 Spark 支持弯曲文本的圆弧区域,允许阅读区域跟随线条。这为您提供了圆形打印的实用起点,而无需将整个盖子视为文本字段。
摄像机仍然需要看到检查所需的每个字符。包装在瓶子后面的代码可能需要不同的呈现方式或其他视图。对于移动的产品,测试生产线上将发生的位置和旋转的可用读取窗口。

找到困难阅读背后的人物
Spark 展现了对单个角色的信心。操作员或技术人员可以看到读者不确定的地方,而不是将整个代码视为无法解释的故障。一个弱字符可能会导致眩光、打印丢失或阅读区域的尴尬边缘。图像和字符结果有助于缩小下一步调整的范围。
使用这些观察结果来改进设置。某个位置反复出现的问题可能需要调整照明。特定字体的变化可能需要更多的训练示例。字符置信度是有用的诊断信息,但它并不能建立经过认证的打印质量等级。
常见问题
- OCR 和检查打印代码有什么区别?
- OCR 生成从图像中读取的文本。检查将该文本与预期值或模式进行比较。 Spark 可以将两者结合起来,因此可读但不正确的产品代码仍然可能无法通过检查。
- Spark OCR 需要培训吗?
- 培训是可选的。首先在具有代表性的生产图像上尝试阅读器。当打印的外观需要时添加训练示例,然后对照训练期间未使用的图像检查性能。
- Spark 可以读取多行文本吗?
- 每个 OCR 区域读取一行。为不同的生产线规划不同的区域,并评估对产品的完整检查。检查和捕获条件的数量会影响实际的循环时间。
- OCR也能检查条形码吗?
- 打印字符和条形码需要不同的工具。使用 OCR 来获取人类可读的文本,使用条形码工具来获取编码值。定义每个所需的结果作为检查的一部分。
带上难以阅读的代码
分享可接受的印刷、不正确的代码以及当今造成麻烦的标记的示例。我们可以检查您的生产线所需的捕获设置和检查。
讨论您的检查