1、VisionPro控件的使用 C# 开发篇 VisionPro 常用控件的说明 1. 工具设置窗体 a. CogPMAlignEditV2 [ 模版匹配设置窗体控件 ] CogPMAlignEditV2.Subject : 工具关联对象 如:CogPMAlignEditV2.Subject = CogPMAlignTool1; CogPMAlignTool1 的类型为CogPMAlignTool b. CogFixtureEditV2 [ 坐标定位设置窗体控件 ] CogFixtureEditV2.Subject : 工具关联对象 如:CogFixtu
2、reEditV2.Subject = CogFixtureTool1; CogFixtureTool1的类型为CogFixtureTool c. CogCalibNPointToNPointEditV2 [ N点坐标矫正设置窗体控件 ] CogCalibNPointToNPointEditV2.Subject : 工具关联对象 如:CogCalibNPointToNPointEditV2.Subject = CogCalibNPointToNPointTool1; CogCalibNPointToNPointTool1的类型为CogCalibNPointToNPoin
3、tTool ------------------------------------------------- 其中: 未矫正X : 像素坐标X 未矫正Y : 像素坐标Y 原始的已校正X : 物理坐标 X 原始的已校正Y : 物理坐标 Y ------------------------------------------------- d. CogFindCircleEditV2 [ 圆形寻找设置窗体控件 ] CogFindCircleEditV2.Subject : 工具关联对象 如:CogFindCircleEditV2.Subject = CogFindC
4、ircleTool1; CogFindCircleTool1的类型为CogFindCircleTool e. CogAcqFifoEditV2 [ 相机信息设置窗体控件 ] CogAcqFifoEditV2.Subject : 工具关联对象 如:CogAcqFifoEditV2.Subject = CogAcqFifoTool1; CogAcqFifoTool1的类型为CogAcqFifoTool f. CogImageFileEditV2 [ 图像文件设置窗体控件 ] CogImageFileEditV2.Subject : 工具关联对象 如:CogImag
5、eFileEditV2.Subject = CogImageFileTool1; CogImageFileTool1的类型为CogImageFileTool g. cogToolGroupEditV21 [ 工具组管理设置窗体控件 ] cogToolGroupEditV21.Subject : 工具关联对象 如:cogToolGroupEditV21.Subject = cogToolGroupTool1; cogToolGroupTool1的类型为cogToolGroupTool 2. 显示控件 CogDisplay [ 图像显示窗体控件 ] 显示图片:cogDi
6、splay1.Image = image; 获取图片:image = cogDisplay1.Image; 附: image à 图片变量 (类型为 ICogImage) //显示图层清空 cogDisplay1.StaticGraphics.Clear(); cogDisplay1.InteractiveGraphics.Clear() //在CogDisplay1中显示文字 //需要引用的空间 using Cognex.VisionPro; using Cognex.VisionPro.Display; //实现方法 priva
7、te void Create_Font(CogDisplay MyDisplay, string Font, int FontSize, double X, double Y, string Label, CogColorConstants Mycolor, CogGraphicLabelAlignmentConstants MyAlignment, string GroupName) { //创建窗体显示字符串标签 CogGraphicLabel MyLabel = new CogGraphicLabel(
8、); //创建窗体显示字体格式 Font MyFont = new Font(Font, FontSize, FontStyle.Regular); MyLabel.GraphicDOFEnableBase = CogGraphicDOFConstants.None; MyLabel.Interactive = false; MyLabel.Font = MyFont;//设置标签的字体属性 MyLabel.Color = Mycolor;//设置显示标签的额
9、字体显示颜色 MyLabel.Alignment = MyAlignment;//对齐方式 MyLabel.SetXYText(X, Y, Label);//文字显示坐标 //将文字显示在CogDisplay1的活动图层上 MyDisplay.InteractiveGraphics.Add(MyLabel, GroupName, false); } //将文本图层显示在CogDisplay1的静态图层上 CogDisplay1.StaticGraphics.Add(CogPMAlignTool1.
10、Results.Item(0).CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes), ""); 附:CogPMAlignTool1 à 匹配工具(下文有说明) CogPMAlignTool1.Results.Item(0).CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes) :意思是创建一个匹配工具的结果图层,这个图层是用来显示一中心坐标得出来的坐标轴 VisionPro 工具组文件的使用 1. 工具组的建立
11、 打开VisionPro,,双击“CogJob1”(这里以CogJob1为列) 在“VisionPro 工具”中选择“CogToolGroup”工具组工具,将其拖到工具表中 然后双击“CogToolGroup”中,在“CogToolGroup1“中添加你需要的工具。 添加完工具并设置配置后,点击保存成工作组文件。 2. 工具组的编程加载 在程序的编写中,需要加载工具组文件。 ----------------------------------------------------------------------------------------------
12、 在C#中VisionPro提供出来的工具组文件进行加载的方法为 //需要引用的空间 using Cognex.VisionPro.ToolGroup; //实现代码 object toolgroup = CogSerializer.LoadObjectFromFile(path); CogToolGroup ToolGroup1 = toolgroup as CogToolGroup; path : 加载工具组文件的物理路径。 如“C:\Users\Administrator\Desktop\Temp\PMAlignTool.vpp”。
13、 --------------------------------------------------------------------------------------------------------------- 3. 工具组的编程保存 CogSerializer.SaveObjectToFile(ToolGroup1,path,typeof(System.Runtime.Serialization.Formatters.Soap.SoapFormatter), CogSerializationOptionsConstants.Minimum); ToolGroup
14、1:需要保存的工具组 path : 保存工具组文件的物理路径 4. 工具组的各子工具的编程关联(这样做的话就更灵活的操作组中的工具数据) //引用的空间 using Cognex.VisionPro; using Cognex.VisionPro.PMAlign; CogAcqFifoTool CogAcqFifoTool1 = ToolGroup1.Tools["CogAcqFifoTool1"] as CogAcqFifoTool ; //关联相机工具 CogAcqFifoTool1.OutputImage //工具输出的图像,类型为ICogImage Cog
15、AcqFifoTool1.Run() //运行工具,这里运行后相机获取一张图片,可以通过OutImage获取 CogPMAlignTool CogPMAlignTool1 = ToolGroup1.Tools["CogPMAlignTool1"] as CogPMAlignTool ; //关联模版匹配工具 CogPMAlignTool1.InputImage //工具输入的图像,注意的是这个工具用的8位的灰度图像。 CogPMAlignTool1.Run() //运行工具,对输入的图像进行模版匹配 CogCalibNPointToNPointTool CogC
16、alibNPointToNPointTool1= ToolGroup1.Tools["CogCalibNPointToNPointTool1"] as CogCalibNPointToNPointTool; //关联模版匹配工具 CogCalibNPointToNPointTool1.InputImage //工具输入的图像 CogCalibNPointToNPointTool1.OutputImage //工具输出矫正后的图像,类型为ICogImage CogCalibNPointToNPointTool1.Run()//运行工具,对输入的图像进行矫正计算 附:ICogImage类型的图像可以强转换为8位的灰度图像,如: CogImage8Grey image8grey = image As CogImage8Grey; //image 的类型为 ICogImage






