使用 VisionPro 控件进行 C# 开发
VisionPro 常用控件的说明
工具设置窗体
CogPMAlignEditV2 [ 模版匹配设置窗体控件 ]
CogPMAlignEditV2.Subject : 工具关联对象
如:CogPMAlignEditV2.Subject = CogPMAlignTool1;
CogPMAlignTool1 的类型为CogPMAlignTool
CogFixtureEditV2 [ 坐标定位设置窗体控件 ]
CogFixtureEditV2.Subject : 工具关联对象
如:CogFixtureEditV2.Subject = CogFixtureTool1;
CogFixtureTool1的类型为CogFixtureTool
CogCalibNPointToNPointEditV2 [ N点坐标矫正设置窗体控件 ]
CogCalibNPointToNPointEditV2.Subject : 工具关联对象
如:CogCalibNPointToNPointEditV2.Subject = CogCalibNPointToNPointTool1;
CogCalibNPointToNPointTool1的类型为CogCalibNPointToNPointTool
其中:
未矫正X : 像素坐标X
未矫正Y : 像素坐标Y
原始的已校正X : 物理坐标 X
原始的已校正Y : 物理坐标 Y
CogFindCircleEditV2 [ 圆形寻找设置窗体控件 ]
CogFindCircleEditV2.Subject : 工具关联对象
如:CogFindCircleEditV2.Subject = CogFindCircleTool1;
CogFindCircleTool1的类型为CogFindCircleTool
CogAcqFifoEditV2 [ 相机信息设置窗体控件 ]
CogAcqFifoEditV2.Subject : 工具关联对象
如:CogAcqFifoEditV2.Subject = CogAcqFifoTool1;
CogAcqFifoTool1的类型为CogAcqFifoTool
CogImageFileEditV2 [ 图像文件设置窗体控件 ]
CogImageFileEditV2.Subject : 工具关联对象
如:CogImageFileEditV2.Subject = CogImageFileTool1;
CogImageFileTool1的类型为CogImageFileTool
cogToolGroupEditV21 [ 工具组管理设置窗体控件 ]
cogToolGroupEditV21.Subject : 工具关联对象
如:cogToolGroupEditV21.Subject = cogToolGroupTool1;
cogToolGroupTool1的类型为cogToolGroupTool
显示控件
CogDisplay [ 图像显示窗体控件 ]
显示图片:cogDisplay1.Image = image;
获取图片:image = cogDisplay1.Image;
附: image à 图片变量 (类型为 ICogImage)
//显示图层清空
cogDisplay1.StaticGraphics.Clear();
cogDisplay1.InteractiveGraphics.Clear()
1 //在CogDisplay1中显示文字
2 //需要引用的空间
3
4 using Cognex.VisionPro;
5
6 using Cognex.VisionPro.Display;
7
8 //实现方法
9 private void Create_Font(CogDisplay MyDisplay, string Font, int FontSize,
10
11 double X, double Y, string Label, CogColorConstants Mycolor,
12
13 CogGraphicLabelAlignmentConstants MyAlignment, string GroupName)
14
15 {
16
17 //创建窗体显示字符串标签
18
19 CogGraphicLabel MyLabel = new CogGraphicLabel();
20
21 //创建窗体显示字体格式
22
23 Font MyFont = new Font(Font, FontSize, FontStyle.Regular);
24
25
26
27 MyLabel.GraphicDOFEnableBase = CogGraphicDOFConstants.None;
28
29 MyLabel.Interactive = false;
30
31 MyLabel.Font = MyFont;//设置标签的字体属性
32
33 MyLabel.Color = Mycolor;//设置显示标签的额字体显示颜色
34
35 MyLabel.Alignment = MyAlignment;//对齐方式
36
37 MyLabel.SetXYText(X, Y, Label);//文字显示坐标
38
39
40
41 //将文字显示在CogDisplay1的活动图层上
42
43 MyDisplay.InteractiveGraphics.Add(MyLabel, GroupName, false);
44
45 }
//将文本图层显示在CogDisplay1的静态图层上
CogDisplay1.StaticGraphics.Add(CogPMAlignTool1.Results.Item(0).CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes), "");
附:CogPMAlignTool1 à 匹配工具(下文有说明)
CogPMAlignTool1.Results.Item(0).CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes) :意思是创建一个匹配工具的结果图层,这个图层是用来显示一中心坐标得出来的坐标轴
VisionPro 工具组文件的使用
工具组的建立
打开VisionPro,双击“CogJob1”(这里以CogJob1为列)
在“VisionPro 工具”中选择“CogToolGroup”工具组工具,将其拖到工具表中
然后双击“CogToolGroup”中,在“CogToolGroup1“中添加你需要的工具。
添加完工具并设置配置后,点击保存成工作组文件。
工具组的编程加载
在程序的编写中,需要加载工具组文件
在C#中VisionPro提供出来的工具组文件进行加载的方法为
//需要引用的空间
using Cognex.VisionPro.ToolGroup;
//实现代码
object toolgroup = CogSerializer.LoadObjectFromFile(path);
CogToolGroup ToolGroup1 = toolgroup as CogToolGroup;
path : 加载工具组文件的物理路径。
如“C:\Users\Administrator\Desktop\Temp\PMAlignTool.vpp”。
工具组的编程保存
CogSerializer.SaveObjectToFile(ToolGroup1,path,typeof(System.Runtime.Serialization.Formatters.Soap.SoapFormatter), CogSerializationOptionsConstants.Minimum);
ToolGroup1:需要保存的工具组
path : 保存工具组文件的物理路径
工具组的各子工具的编程关联(这样做的话就更灵活的操作组中的工具数据)
//引用的空间
using Cognex.VisionPro;
using Cognex.VisionPro.PMAlign;
CogAcqFifoTool CogAcqFifoTool1 = ToolGroup1.Tools["CogAcqFifoTool1"] as CogAcqFifoTool ; //关联相机工具
CogAcqFifoTool1.OutputImage //工具输出的图像,类型为ICogImage
CogAcqFifoTool1.Run() //运行工具,这里运行后相机获取一张图片,可以通过OutImage获取
CogPMAlignTool CogPMAlignTool1 = ToolGroup1.Tools["CogPMAlignTool1"] as CogPMAlignTool ; //关联模版匹配工具
CogPMAlignTool1.InputImage //工具输入的图像,注意的是这个工具用的8位的灰度图像。
CogPMAlignTool1.Run() //运行工具,对输入的图像进行模版匹配
CogCalibNPointToNPointTool CogCalibNPointToNPointTool1=
ToolGroup1.Tools["CogCalibNPointToNPointTool1"]
as CogCalibNPointToNPointTool; //关联模版匹配工具
CogCalibNPointToNPointTool1.InputImage //工具输入的图像
CogCalibNPointToNPointTool1.OutputImage //工具输出矫正后的图像,类型为ICogImage
CogCalibNPointToNPointTool1.Run()//运行工具,对输入的图像进行矫正计算
附:ICogImage类型的图像可以强转换为8位的灰度图像,如:
CogImage8Grey image8grey = image As CogImage8Grey; //image 的类型为 ICogImage
原文地址:https://www.cnblogs.com/ybqjymy/p/14464155.html
上一篇: 举例分析流程图和活动图之间的区别和联系
下一篇: UML、活动图和状态图
推荐阅读
-
Java 8新特性探究(十三)JavaFX 8新特性以及开发2048游戏-JavaFX历史## 跟java在服务器端和web端成绩相比,桌面一直是java的软肋,于是Sun公司在2008年推出JavaFX,弥补桌面软件的缺陷,请看下图JavaFX一路走过来的改进 从上图看出,一开始推出时候,开发者需使用一种名为JavaFX Script的静态的、声明式的编程语言来开发JavaFX应用程序。因为JavaFX Script将会被编译为Java bytecode,程序员可以使用Java代码代替。 JavaFX 2.0之后的版本摒弃了JavaFX Script语言,而作为一个Java API来使用。因此使用JavaFX平台实现的应用程序将直接通过标准Java代码来实现。 JavaFX 2.0 包含非常丰富的 UI 控件、图形和多媒体特性用于简化可视化应用的开发,WebView可直接在应用中嵌入网页;另外 2.0 版本允许使用 FXML 进行 UI 定义,这是一个脚本化基于 XML 的标识语言。 从JDK 7u6开始,JavaFx就与JDK捆绑在一起了,JavaFX团队称,下一个版本将是8.0,目前所有的工作都已经围绕8.0库进行。这是因为JavaFX将捆绑在Java 8中,因此该团队决定跳过几个版本号,迎头赶上Java 8。 ##JavaFx8的新特性 ## ###全新现代主题:Modena 新的Modena主题来替换原来的Caspian主题。不过在Application的start方法中,可以通过setUserAgentStylesheet(STYLESHEET_CASPIAN)来继续使用Caspian主题。 参考http://fxexperience.com/2013/03/modena-theme-update/ ###JavaFX 3D 在JavaFX8中提供了3D图像处理API,包括Shape3D (Box, Cylinder, MeshView, Sphere子类),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子类),SceneAntialiasing等。Camera类也得到了更新。从JavaDoc中可以找到更多信息。 ###富文本 强化了富文本的支持 ###TreeTableView ###日期控件DatePicker 增加日期控件 ###用于 CSS 结构的公共 API
-
压缩Cesium中的模型使用Draco技术进行开发
-
使用Qt进行iOS平台上的跨平台APP开发
-
C# 使用 LINQ 进行查询
-
C#中三种使用Linq进行数据去重的方法
-
C# 使用LINQ进行JOIN查询
-
C# 使用 LINQ 进行查询
-
C#使用Linq进行基础查询操作
-
C#使用LINQ进行左连接、右连接和全连接的操作指南
-
使用C#与CH341进行SPI和I2C数据传输