当前位置:代码狗 > 开发教程 > 工业视觉教程 > 正文

VisionPro通过已发送项获取运行结果

经过前面的教程我们已经可以正常获取我们项目中的visionPro运行结果,之所以没告诉大家这种简单方法,是为了让大家了解每个工具对象的属性和它的结构,因为在以后的实践中大家就会发现很多操作都需要知道工具的结构,灵活运用工具的各种属性可以帮助我们完成更加复杂的视觉项目。

我们先构建一个vpp项目,这里就不重复说明了,前面教程很清楚,不会的照着前面的教程自己做一个。

然后选择你需要通过已发送项获取的数据,比如我需要斑点工具找到了多少个斑点,那么我就右键斑点工具下面的斑点数量值,选择添加到已发送项。

VisionPro通过已发送项获取运行结果

VisionPro通过已发送项获取运行结果

然后我们可以在已发送项列表里看到刚刚添加的这个值路径,name可以自己编辑,如下图

VisionPro通过已发送项获取运行结果

VisionPro通过已发送项获取运行结果

VisionPro通过已发送项获取运行结果

VisionPro通过已发送项获取运行结果

然后我们在C#代码中这样获取结果

首先老规矩声明全局变量加载vpp文件:

要查看更多文章内容,请您先登录/注册

最终结果如下图,效果和我们以前的一样,只是这种方法更适合job多,并且都要执行的场景。

VisionPro通过已发送项获取运行结果

VisionPro通过已发送项获取运行结果

 

感觉很棒!可以赞赏支持我哟~

赞(10) 打赏

评论 17

  1. #7

    版主,您好,我是刚接触VisionPro,有点疑问想请教您一下!
    如果想要用C#实现自动取值(实时获取验证图片后的结果),并确认是最新验证的结果,有没有什么好的方法?

    Charles2个月前 (07-23)回复
    • 判断job是否运行成功

      代码狗2个月前 (07-23)回复
      • 您好,问题已经解决,非常感谢!
        现在又有一个问题,我之前训练图片都是单色位图格式的,现在想加载本地的彩色图片,显示24位图格式不对
        有没有哪个工具可以转换使用?代码中已经了解怎么转换,但是VisionPro工具中怎么实现?

        Charles2个月前 (08-02)
      • CogImageConvertTool转换

        代码狗2个月前 (08-02)
      • 谢谢老板,图片转换已经解决,感觉要处理复杂的图像需要对各个组件有比较深刻的理解!
        想请教一下一个新问题,准备了一张有折痕的黑色纸张,拍摄下来,想要训练找这种不明显折痕的vpp文件,前面您介绍的一些工具都试了下,如果痕迹变动(换一张)有些组件会找不出折痕,还有一些组件会误判,请问这种情况有没有好的方法来处理?

        Charles2个月前 (08-08)
      • 需要设置模板匹配工具的旋转角度及缩放,还有将找到的特征区域传递下去

        代码狗2个月前 (08-08)
  2. #6

    意思是那个工具可以把数据合并吗?可以把两个JOB里的结果合并到一块吗? 🙏🏻

    郑帅超4个月前 (06-04)回复
    • 只能合并一个job内的。为什么要合并两个job,你自己取出来不就好了。

      代码狗4个月前 (06-04)回复
  3. #5

    有个问题, 我现在的VPP方案是两个JOB, 每个JOB下各有两个已发送项, 按上文中的代码执行后, 每次只能读取其中一个JOB的一个发送项的值。 怎么把两个JOB的 四个发送项的值合并到一起???

    郑帅超4个月前 (06-04)回复
    • 取四次不就行了,非要一起可以在visionPro中使用CogResultsAnalysisTool工具,它可以对一些数据做简单运算,将数据给它,把它通过已发送项取出来即可。

      代码狗4个月前 (06-04)回复
  4. #4

    版主,你好VPP文件在哪?

    Rudy6个月前 (03-14)回复
    • …文件丢失了,自己做一个吧,前面有教程。

      代码狗6个月前 (03-14)回复
  5. #3

    狗哥,可以解释下ICogRecord首字母为I的接口?它的含义和用法

    TT8个月前 (01-15)回复
    • 以后再讲

      daimadog8个月前 (01-16)回复
  6. #2

    版主,请问下,为什么每次运行时Cognex.VisionPro.ICogRecord toprecord = myjobmanger.UserResult();//取得结果对象并赋值 这里时,toprecord都为null。还请您帮忙解答下。我现在需要运行一个编辑脚本的JOB,想从job当中获得image scoure; (因为是线扫相机需要很大的视野,因此这个job脚本里面有触发多次拍照拼接成一张图,而不用加载acqfifotool触发) 请您百忙之中解答下,有偿解答,万分感谢。

    9个月前 (01-10)回复
    • myjobmanger.UserResult();不是Cognex.VisionPro.ICogRecord类型。脚本中的PostAcquisitionRefInfo就是采集到图像将会调用的方法,通过CogCopyRegionTool工具复制多张图像区域进行拼接然后传入即可。

      daimadog9个月前 (01-10)回复
  7. #1

    版主这些代码的 声明引用 搞不懂怎么用

    10个月前 (11-24)回复
×

请作者吃根烤肠!

支付宝