VisionPro_脚本实现多目标检测

在这里插入图片描述
如上图,要定位每个USB口的位置,用PMAlign工具可以很容易实现。

但是存在一些不美的问题:

如果把ROI放大到整张图像,数据不太容易进一步使用。
如果把ROI框一个一个的拉出来,有点无聊。并且如果产品数量变化,需要重新做一个检测程序。
利用VisionPro提供的脚本功能对付这种规律分布的产品非常有效。可以在一定程度上实现程序的封闭,维护、扩展更加方便。
在这里插入图片描述
在这里插入图片描述

使用c#脚本配合模板定位即可以实现测量和显示功能。

思路是:从左到右逐个检测;一次检测一个重复区域;利用脚本改变ROI的位置,每次将新的ROI更新到PMAlign工具中。

代码示例,在作业脚本的GroupRun方法中做以下更改即可。

CogRectangle roi; //搜索区域

CogPMAlignTool toolPM= newCogPMAlignTool; //模板工具

toolPM = toolGroup.Tools ["CogPMAlignTool1"]asCogPMAlignTool;

for( inti= 0;i < 16;i++) //16是检测目标的数量,改成变量替代比较好

{

/*

ROI是矩形框

实例化ROI

定义矩形框的位置和大小

此处,ROI的X方向的位置是变化的

改成变量做到外边比较好

*/

roi = newCogRectangle;

//roi.X = 21;

roi.Y = 16;

roi.Width = 118;

roi.Height = 525;

roi.Color = CogColorConstants.Blue;

roi.X = 21+ i * 122.5;

toolPM.SearchRegion = roi;

toolPM. Run;

if(toolPM.Results.Count > 0)

{

//显示匹配到的目标

CogCompositeShape myGraphic = newCogCompositeShape;

myGraphic = toolPM.Results [0]. CreateResultGraphics(CogPMAlignResultGraphicConstants.All);

myGraphics. Add(myGraphic);

}

//显示ROI

myGraphics2. Add(roi);

}

以上案例是针对PMAlign工具的,同样的方法可以移植到卡尺等其他工具。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值