• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

VisionPro各控件的C#中类库(CogToolBlock类)像函数设计一样。

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.先了解其控件使用

编辑增加控件步骤1-2-3-4。我们把他当做一个整体进行封装,可以可以看成一个函数设计(增加输入类型几个,添加输出类型几个)

2.进行CogToolBlock控件功能设计(进行函数功能设计--即功能调试)

3.进行添加功能控件,进行配置把要输入和输出的项目设定好测试OK后进行保存。

4.下部分进行C#进行调用--先进行反序列化成为对象。

CogToolBlock Block= CogSerializer.LoadObjectFromFile(@"D:\AVI\Tool1.vpp") as CogToolBlock;

5.基本应用

 1 private void button4_Click(object sender, EventArgs e)//测试应用CogToolBlock
 2 {
 3             this.cogRecordDisplay2.StaticGraphics.Clear();
 4             tool1 = CogSerializer.LoadObjectFromFile(@"D:\AVI\Tool1.vpp") as CogToolBlock;
 5             Bitmap A1 = (Bitmap)Bitmap.FromFile(@"D:\AVI\13.JPG");
 6             CogImage24PlanarColor ima3 = new CogImage24PlanarColor(A1);
 7             tool1.Inputs[0].Value = ima3;//输入图片
 8             tool1.Run();//运行
 9             CogTransform2DLinear aline = tool1.Outputs[0].Value as CogTransform2DLinear;
10             label1.Text = string.Format("数据:角度:{0},\n X:{1},Y:\n{2}", aline.Rotation, aline.TranslationX, aline.TranslationY);
11 
12             cogRecordDisplay2.Record = tool1.CreateLastRunRecord().SubRecords[1];
13 
14 }

源码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 using Cognex.VisionPro;
10 using Cognex.VisionPro.ToolBlock;
11 using Cognex.VisionPro.ImageFile;
12 using System.IO;
13 using Cognex.VisionPro.OCRMax;
14 using Cognex.VisionPro.ID;
15 using System.Diagnostics;
16 using Cognex.VisionPro.PMAlign;
17 using Cognex.VisionPro.Blob;
18 
19 namespace qj
20 {
21     public partial class Form1 : Form
22     {
23         public Form1()
24         {
25             InitializeComponent();
26             chushua();
27         }
28         CogAcqFifoTool camtool = null;
29         ICogFrameGrabber cam1 = null;
30         ICogAcqFifo cam = null;
31        // CogImageFile file = null;
32         CogImageFileTool file1 = null;
33         CogImageConvert covet1 = null;
34         CogToolBlock tool1 = null;
35         CogPMAlignTool tool2 = null;
36         ICogImage tu = null;
37         private void chushua()
38         {
39            // camtool = new CogAcqFifoTool();
40            // cam = camtool.Operator;
41           //  covet1 = new CogImageConvert();
42             file1 = (CogImageFileTool)CogSerializer.LoadObjectFromFile(@"D:\AVI\img.vpp");
43             tool2 = CogSerializer.LoadObjectFromFile(@"D:\AVI\pm1.vpp") as CogPMAlignTool;
44             file1.Run();
45            // cogRecordDisplay1.Image = CogImageConvert.GetIntensityImage(file1.OutputImage, 0, 0, file1.OutputImage.Width, file1.OutputImage.Height);
46           cogRecordDisplay2.Image = file1.OutputImage;
47 
48 
49         }
50 
51         private void button1_Click(object sender, EventArgs e)
52         {
53            // file1.Run();
54             
55             cogRecordDisplay2.Image =tu = CogImageConvert.GetIntensityImage(file1.OutputImage, 0, 0, file1.OutputImage.Width, file1.OutputImage.Height);
56         }
57 
58         private void button1_Click_1(object sender, EventArgs e) //定位测试
59         {
60             Bitmap A1 = (Bitmap)Bitmap.FromFile(@"D:\AVI\13.JPG");
61             CogImage8Grey ima1 = new CogImage8Grey(A1);
62             
63             tool2 = CogSerializer.LoadObjectFromFile(@"D:\AVI\pm1.vpp") as CogPMAlignTool;
64             tool2.InputImage = ima1;
65             tool2.Run();
66             cogRecordDisplay2.Record = tool2.CreateLastRunRecord().SubRecords[0];
67           CogTransform2DLinear aline=  tool2.Results[0].GetPose();
68           label1.Text = string.Format("数据:角度:{0},\n X:{1},Y:\n{2},\n得分{3}", aline.Rotation, aline.TranslationX, aline.TranslationY, tool2.Results[0].Score * 100);
69         }
70 
71         private void button2_Click(object sender, EventArgs e)
72         {
73       
74         }
75 
76         private void button3_Click(object sender, EventArgs e) //CogPMAlignTool mark编辑
77         {
78             Form2 gi = new Form2();
79             gi.ShowDialog();
80         }
81 
82         private void button4_Click(object sender, EventArgs e)//测试应用CogToolBlock
83         {
84             this.cogRecordDisplay2.StaticGraphics.Clear();
85             tool1 = CogSerializer.LoadObjectFromFile(@"D:\AVI\Tool1.vpp") as CogToolBlock;
86             Bitmap A1 = new Bitmap(@"D:\AVI\13.JPG");
87             CogImage24PlanarColor ima3 = new CogImage24PlanarColor(A1);
88             tool1.Inputs[0].Value = ima3;//输入图片
89             tool1.Run();//运行
90             CogTransform2DLinear aline = tool1.Outputs[0].Value as CogTransform2DLinear;
91             label1.Text = string.Format("数据:角度:{0},\n X:{1},Y:\n{2}", aline.Rotation, aline.TranslationX, aline.TranslationY);
92 
93             cogRecordDisplay2.Record = tool1.CreateLastRunRecord().SubRecords[1];
94             A1.Dispose();
95             tool1.Dispose();
96 
97         }
98     }
99 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#检测线程结束的3种方式发布时间:2022-07-14
下一篇:
c#正则表达式笔记发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap