这是康耐视 VisionPro 用于药板 / 药丸 / 胶囊自动化缺陷检测 的标准视觉方案,核心是:定位药板 + 统计药丸数量 → 判断是否合格 / 缺失 / 错放。
一、整体功能
- 自动定位药板:不管药板怎么旋转、轻微缩放,都能精准找到位置
- 统计药丸数量:检测药板上的药丸总数
- 自动判定结果 :
- 数量 = 15 → 合格品
- 数量 ≠ 15 → 显示合格数、缺失数、错放数
- 用于:制药产线、药板包装检测、胶囊缺粒检测
二、使用的 2 个核心工具
1. CogPMAlignTool(图案匹配 / 定位工具)
作用:稳定定位药板位置
- 训练区域:中心原点
- 运行参数:
- 角度:-180° ~ 180°(支持任意旋转)
- 缩放:0.8 ~ 1.2(允许 10%~20% 大小变化)
- 意义:无论药板怎么放,都能精准对齐,保证后面计数准确
2. CogSearchMaxTool(查找计数工具)
作用:查找并统计药丸数量
- 训练区域:中心原点
- 运行参数:
- 查找最大数量:15(标准满药数量)
- 接受阈值:0.45(相似度门槛)
- 角度:-180°~180°
- 意义:数出当前药板上有多少个合格药丸
三、脚本完整解析(核心逻辑)
1. 完整脚本
c#
// 如果检测到的药丸数量 == 15(满额)
if(Inputs.Results_Count == 15)
{
Outputs.Output = "合格品";
}
// 数量不足 → 输出详细状态
else
{
Outputs.Output = "合格:" + Inputs.Results_Count +
" 缺失:" + Inputs.Results_Count1 +
" 错放:" + Inputs.Results_Count2 ;
}
2. 变量含义
表格
| 变量 | 含义 |
|---|---|
| Inputs.Results_Count | 实际检测到的合格药丸数量 |
| Inputs.Results_Count1 | 缺失的药丸数量 |
| Inputs.Results_Count2 | 错放 / 异物 / 不合格药丸数量 |
| Outputs.Output | 最终输出结果 |
3. 执行逻辑
- 先判断合格数是否 = 15
- 等于 15 → 输出:合格品
- 不等于 15 → 输出:
- 合格几颗
- 缺失几颗
- 错放几颗
四、效果展示说明
- 合格画面:药丸满 15 颗 → 绿色 / 合格品
- 不合格画面 :
- 合格:X
- 缺失:X
- 错放:X
- 直观展示药板状态,方便自动化剔除不良品
五、工具参数为什么这样设?
- 角度 ±180:适应产线药板旋转
- 缩放 0.8~1.2:适应轻微尺寸偏差
- 查找数量 15:标准满板数量
- 阈值 0.45:平衡检出率与误判率
六、优点与适用场景
优点
- 旋转、缩放都能稳定检测
- 自动判断合格 / 缺失 / 错放
- 输出文字结果,可直接给 PLC 使用
- 调试简单、运行速度快
适用场景
- 药板胶囊 / 药丸缺粒检测
- 药片包装完整性检测
- 小型规则零件数量计数检测
总结
- 这是 VisionPro药物 / 药丸自动化检测标准方案 :PM 定位 + Search 计数
- 脚本逻辑:数量 = 15 = 合格,否则显示缺失 / 错放
- 适合制药行业高速、稳定、抗干扰的视觉检测需求
效果展示:


工具:

工具参数:
CogPMAlignTool
训练区域与原点:中心原点
运行参数:角度-180度~180度,缩放0.8~1.2
CogSearchMaxTool
训练区域与原点:中心原点
运行参数:查找最大数量15,接受阀值0.45,角度-180度~180度
脚本代码:
if(Inputs.Results_Count == 15)
{
Outputs.Output = "合格品";
}
else
{
Outputs.Output = "合格:" + Inputs.Results_Count + " 缺失:" + Inputs.Results_Count1 + " 错放:" + Inputs.Results_Count2 ;
}