经过前面的教程我们已经可以正常获取我们项目中的visionPro运行结果,之所以没告诉大家这种简单方法,是为了让大家了解每个工具对象的属性和它的结构,因为在以后的实践中大家就会发现很多操作都需要知道工具的结构,灵活运用工具的各种属性可以帮助我们完成更加复杂的视觉项目。
我们先构建一个vpp项目,这里就不重复说明了,前面教程很清楚,不会的照着前面的教程自己做一个。
然后选择你需要通过已发送项获取的数据,比如我需要斑点工具找到了多少个斑点,那么我就右键斑点工具下面的斑点数量值,选择添加到已发送项。
然后我们可以在已发送项列表里看到刚刚添加的这个值路径,name可以自己编辑,如下图
然后我们在C#代码中这样获取结果
首先老规矩声明全局变量加载vpp文件:
隐藏内容,解锁需要开通VIP
登录/注册
最终结果如下图,效果和我们以前的一样,只是这种方法更适合job多,并且都要执行的场景。
评论 (30)
这段运行第一个按钮会报错,数据超出索引....这是为啥呀...
mymanger = (CogJobManager)CogSerializer.LoadObjectFromFile(path);
mymanger.Run();
Cognex.VisionPro.ICogRecord temprecord; //声明发送项结果对象
Cognex.VisionPro.ICogRecord toprecord = mymanger.UserResult();//取得结果对象并赋值
if (toprecord == null) return;//如果等于空,则没有取到数据
MessageBox.Show("进来了", "结果反馈", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
提示框没有进入,说明没有值,请问我哪里出错了
如果想要用C#实现自动取值(实时获取验证图片后的结果),并确认是最新验证的结果,有没有什么好的方法?
现在又有一个问题,我之前训练图片都是单色位图格式的,现在想加载本地的彩色图片,显示24位图格式不对
有没有哪个工具可以转换使用?代码中已经了解怎么转换,但是VisionPro工具中怎么实现?
想请教一下一个新问题,准备了一张有折痕的黑色纸张,拍摄下来,想要训练找这种不明显折痕的vpp文件,前面您介绍的一些工具都试了下,如果痕迹变动(换一张)有些组件会找不出折痕,还有一些组件会误判,请问这种情况有没有好的方法来处理?