康耐视visionpro联合C#开发二

752 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

本次康耐视联合C#文档是最后一篇visionpro与C#联合的文章,后续我们将开始c#与halcon的编写或者vidi的文章。

首先我们定义所需要的变量

       //定义作业
        CogToolBlock job;
        //定义作业VPP的路径
        string path = Directory.GetCurrentDirectory()  + "\\"  +  "test.vpp";
       // 定义lable的显示接受
        string patCount = "";
        string patZuoBiao = "0.00,0.00";

image.png 定义了作业的类型和位置后,我们需要对作业进行加载;

加载作业

image.png 我们在控件上选取该控件,然后打开他的属性。在事件中选择Click事件; 双击进入事件的代码编写

image.png 给定义的job赋予值;

  job = CogSerializer.LoadObjectFromFile(path) as CogToolBlock;
            MessageBox.Show("作业加载成工");

确定该作业的位置 点击文件所在位置,查看VPP是否在该位置 image.png 然后试运行

image.png 确定VPP加载正常

程序运行

加载玩程序后,我们需要对程序进行运行。看是不是运行正常。 在运行程序初选择按钮,点击属性、事件。双击进入

image.png

显示设置和结果接收

当我门的程序运行结束后,我们需要将结果显示到我们的控件上,这就需要我们将结果付给显示的控件; 在显示图像时,我们需要清空我们的图像

             //显示图层清空

            cogRecordDisplay1.StaticGraphics.Clear();
            cogRecordDisplay1.InteractiveGraphics.Clear();

在清空后我们需要对vpp中的图像进行接收

//显示job上的第2张照片
  cogRecordDisplay1.Record = job.CreateLastRunRecord().SubRecords[1]; //(ICogImage)job1.Outputs[2].Value;//job.CreateLastRunRecord().SubRecords[0];
  //照片适应控件大小
            cogRecordDisplay1.Fit(true);

如下图: image.png

数据的接收

当图像我们显示到结果之后,我们需要对结果进行传送到我们的界面上。

image.png 增加一个按钮,用来显示数据;

            label1.Text = job.Outputs["patCount"].Value.ToString();
            label2.Text = job.Outputs["patZuoBiao"].Value.ToString();

image.png 最后显示结果为准确结果。

本章结束