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()
//在CogDisplay1中显示文字
//需要引用的空间
using Cognex.VisionPro;
using Cognex.VisionPro.Display;
//实现方法
private 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();
//创建窗体显示字体格式
Font MyFont = new Font(Font, FontSize, FontStyle.Regular);
MyLabel.GraphicDOFEnableBase = CogGraphicDOFConstants.None;
MyLabel.Interactive = false;
MyLabel.Font = MyFont;//设置标签的字体属性
MyLabel.Color = Mycolor;//设置显示标签的额字体显示颜色
MyLabel.Alignment = MyAlignment;//对齐方式
MyLabel.SetXYText(X, Y, Label);//文字显示坐标
//将文字显示在CogDisplay1的活动图层上
MyDisplay.InteractiveGraphics.Add(MyLabel, GroupName, false);
}
//将文本图层显示在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
VisionPro控件的使用 C# 开发篇的更多相关文章
- atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o
atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o 1. 建立applet:: 1 2. Applet 码 1 3. Applet (awt)跟japplet (swing) ...
- Android 开源控件与常用开发框架开发工具类
Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...
- SNF开发平台WinForm之三-开发-单表选择控件创建-SNF快速开发平台3.3-Spring.Net.Framework
3.1运行效果: 3.2开发实现: 3.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http: ...
- 用VS2017进行移动开发(C#、VB.NET)——Progress控件,Smobiler移动开发
Progress控件 一. 样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个Progress控件到窗体界面上 修改Pr ...
- 用VS2017进行移动开发(C#、VB.NET)——OfflineCameraButton控件,Smobiler移动开发
OfflineCameraButton控件 一. 样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个OfflineCam ...
- SNF开发平台WinForm之十五-时间轴控件使用-SNF快速开发平台3.3-Spring.Net.Framework
一.显示效果如下: 二.在控件库里选择UCTimeAxis 拖拽到窗体里. 三.加入以下代码,在load事件里进行调用就可以运行了. #region 给时间轴控件加载数据 private void U ...
- webbrowser控件——Windows下的开发利器
首先说明,本人比较菜,做C++没多长时间. 刚开始用MFC写程序时,连个基本的字体都不会变(颜色.大小等), 索性干脆就啥也不改了,直接默认,界面就那样了,老子不管了. 心想这C++做个界面咋就那么麻 ...
- 实现窗体随着鼠标移动(控件)--《用delphi开发共享软件》-15.1任务管理器
private //窗体移动: OldPos,NewPos:TPoint; bMove:Boolean; procedure TForm1.FormMouseDown(Sender: TObject; ...
- DevExpress控件使用方法:第一篇 gridControl详解
GridControl (1)层次设计器 有五种视图模式,banded gridview多行表头,数据还是一行一组,最靠近数据的表头与数据一一对应:advanced banded gridview多行 ...
随机推荐
- 201712-2 游戏 Java
思路: 第一感觉有点像约瑟夫环.想到用队列解决比较好理解 import java.util.LinkedList; import java.util.Queue; import java.util.S ...
- mint linux的几个问题
刚开机登录时, 键盘不停的输入同一个字符 发现在虚拟机里安装的系统没有问题, 因此怀疑配置有冲突, 新建一个用户果然能解决问题 解决方法: 把 主目录下, 隐藏的配置目录删除, 重新登录后再配置. 4 ...
- frp内网穿透,centos7+frp成功样例
准备工作: 阿里云服务器一台,备案域名一个,本地服务器一台(本人用的虚拟机centos7) frp文件:frp_0.22.0_linux_amd64.tar.gz 链接:https://pan.bai ...
- 1. laravel 学习 环境搭建
1. 项目环境 vagrant + laradock (因为 自己手动搭建环境太麻烦了 自己弄了一下 感觉还是有些漏洞 所以采用 laradock) 2. Vagrantfile 备注 : box ...
- Paper Review: Epigenetic Landscape, Cell Differentiation 01
Today, I'll share a review papers about Epigenetic Landscape, the Epigenetic Landscape is related to ...
- Maven高级:01.maven分模块构建&&02.私服的应用
IntelliJ IDEA 2018.3.6 x64 07 Maven高级:01.maven分模块构建(上) 07 Maven高级:01.maven分模块构建(中) 07 Maven高级:01.mav ...
- Linux中的错误重定向你真的懂吗
在很多定时任务里.shell里我们往往能看到 "2>&1",却不知道这背后的原理. 举个例子: * 1 * * * test.sh > /dev/null 2& ...
- Go-简介-发展
01-Go语言介绍 目录 Go语言介绍 Go语言特性 Go语言发展(版本/特性) Go语言应用 谁在用 应用领域 Go语言项目 Go语架构 Go语言发展前景 Go语言介绍 Go 即Golang,是Go ...
- P2P平台爆雷不断到底是谁的过错?
早在此前,范伟曾经在春晚上留下一句经典台词,"防不胜防啊".而将这句台词用在当下的P2P行业,似乎最合适不过了.就在这个炎热夏季,P2P行业却迎来最冷冽的寒冬. 引发爆雷潮的众多P ...
- 1027A. Palindromic Twist#变形回文串
题目内容:http://codeforces.com/contest/1027/problem/A 题目解析:输入T组字符串,每个字符串都必须改变一次,每个字母改变的规则是变成相邻的字母,字母a只能变 ...