让代码更简单

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

VisionPro与C#混合编程取CogPMAlignTool工具运行结果

重要:本文最后更新于2020-04-03 16:00:25,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

关于C#取出visionpro的运行结果相关教程在之前的文章里已经说过一次了,不知道的可以看看教程,代码狗VisionPro工业视觉系列教程,为了让大家更加熟悉操作,这里讲一下CogPMAlignTool工具运行结果是如何取出来的。

VisionPro与C#混合编程取CogPMAlignTool工具运行结果

VisionPro与C#混合编程取CogPMAlignTool工具运行结果

CogPMAlignTool工具如下图所示

VisionPro与C#混合编程取CogPMAlignTool工具运行结果

VisionPro与C#混合编程取CogPMAlignTool工具运行结果

C#核心代码如下:

要查看更多文章内容,请您先登录/注册
private void button1_Click(object sender, EventArgs e)
 {
 mymanger = (CogJobManager)CogSerializer.LoadObjectFromFile(path);//加载路径中的vpp文件
 cogJobManagerEdit1.Subject = mymanger;//将加载进来的vpp文件对象赋值给jobmanger控件
 mymanger.Job(0).Stopped += new CogJob.CogJobStoppedEventHandler(jobstoped);//注册停止事件
 }
public void jobstoped(object obj,CogJobActionEventArgs arg) { 
  CogJob job0 = (CogJob)obj; CogToolGroup ctg = (CogToolGroup)job0.VisionTool; 
  CogPMAlignTool cra = (CogPMAlignTool)ctg.Tools["CogPMAlignTool1"]; 
  double X = cra.Results[0].GetPose().TranslationX; 
  double Y = cra.Results[0].GetPose().TranslationY; 
  double Rotation = cra.Results[0].GetPose().Rotation; 
  double Score = cra.Results[0].Score; 
  MessageBox.Show("X:" + X + "\r\n Y:" + Y + "\r\n Rotation:" + Rotation + "\r\n Score:" + Score); 
}
private void button2_Click(object sender, EventArgs e)
 {
 mymanger.Job(0).Run();//运行vpp
 }
要查看更多文章内容,请您先登录/注册

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

赞(8) 打赏

评论 6

  1. #3

    C#小白,麻烦贴一下源代码谢谢

    芝麻球3个月前 (04-03)回复
    • 已更新全部代码

      代码狗3个月前 (04-03)回复
  2. #2

    请问是job run 了后,直接这样查询分数吗?

    NN1122332年前 (2018-08-07)回复
    • 建议使用监听job运行状况的形式来写代码,当job运行结束后会启动一个事件,这个事件里写查询分数。

      daimadog2年前 (2018-08-07)回复
      • 好的,谢谢!
        现在现有的问题是,如果有两个相机,是需要添加2个job?然后在每一个job里添加图像输入和处理工具?

        Nn1122332年前 (2018-08-07)
  3. #1

    好文章是一定要收藏的~

    跨境电商教程2年前 (2018-04-28)回复
×

请作者吃根烤肠!

支付宝