VisionPro ToolBlock脚本编写&通过脚本绘制Record显示简单示例
1. 导读:
前面有一篇博客分享了如何使用C#调用ToolBlock,以完成一个简单的视觉开发项目。今天主要分享一下在ToolBlock中,如何编写运行脚本,主要包括以下几个方面的演示:
- ToolBlock添加输入项,主要用于用户界面参数修改,然后以参数的形式传入ToolBlock,以影响算法工具。
- 通过函数绘制自定义图形Graphics,然后将其打印到ToolBlock的某一个图层中(在VP中常说的Record类似于PS中的图层)。
- 输出一个不常用的数据类型,PMAlign工具的运行结果对象,也就是CogPMAlignResults类型。
最终效果:
2. 实现步骤:
在ToolBlock中添加一个CogPMAlignTool 工具,然后选择一张边缘对比较好的图像,训练模板。
选择ToolBlock的输出引脚类型–CogPMAlignResults
为当前ToolBlocl编写脚本,注意:这里选择C#高级脚本模式。
1 public class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase 2 26 27 //将PMAlign工具的结果集合绑定到ToolBlock的输出 28 mToolBlock.Outputs["ResultList"].Value = pmaTool.Results; 29 30 //如果ToolBlock内的运行流程是自定义的,则返回false,否则如果按照正常流程执行则返回true 31 return false; 32 } 33 /// <summary> 34 /// 绘制仿射矩形 35 /// </summary> 36 private CogRectangleAffine CreateRectangleAffine(double Postion_X, double Postion_Y, double Weight, double Height, double Rotation, CogColorConstants Color) 37 46 /// <summary> 47 /// 绘制矩形 48 /// </summary> 49 private CogRectangle CreatRectangle(double Postion_X, double Postion_Y, double Weight, double Height, CogColorConstants Color) 50 60 61 /// <summary> 62 /// 绘制标签 /// </summary> 64 private CogGraphicLabel CreatLabel(string text, float size, double x, double y, CogColorConstants Color) 65 73 74 /// <summary> 75 /// 绘制圆形 76 /// </summary> 77 private CogCircle CreateCircle(double Center_X,double Center_Y,double Radius,CogColorConstants color) 78 88 89 /// <summary> 90 /// 当上一次的记录发生改变,并正在重构时调用此函数 91 /// </summary> 92 /// <param name="lastRecord">新的运行记录</param> 93 public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord) 94 100 } 101 }开发程序中,在ToolBlock的Ran事件回调函数中显示,并获取结果。
1 private void OnToolBlockRan(object sender, EventArgs e) 2 15 dgv_DataList.DataSource = dataList; 16 }上一篇:Cognex InSight TCP\IP通讯设置以及字符命令触发
VisionPro
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?