C#调用VisionPro工具(模板匹配)
功能实现:利用C#(VS)添加VisionPro模板匹配功能
抓取训练图像
训练结果(显示精细)
匹配结果
代码实现
引用命名空间
using Cognex.VisionPro.PMAlign;
实例化工具及训练区域设置
CogPMAlignTool cogPMAlignTool = new CogPMAlignTool();
cogPMAlignTool.InputImage = cogImageFileTool.OutputImage as CogImage8Grey; //设置输入图像
//显示训练区域
cogRecordDisplay1.Image = cogPMAlignTool.InputImage;
cogRecordDisplay1.Record = cogPMAlignTool.CreateCurrentRecord();
//手动或者参数设置训练区域
训练模型
cogPMAlignTool.Pattern.TrainImage = cogPMAlignTool.InputImage;
cogPMAlignTool.Pattern.Train();//训练
cogRecordDisplay1.Record = cogPMAlignTool.CreateCurrentRecord();//显示训练结果
模板匹配
cogPMAlignTool.Run();
cogRecordDisplay1.Record = cogPMAlignTool.CreateLastRunRecord();显示训练结果
加载/保存模式
//加载模板
cogPMAlignTool.Pattern = (CogPMAlignPattern)CogSerializer.LoadObjectFromFile(vppPath);
//保存模板
CogSerializer.SaveObjectToFile(cogPMAlignTool.Pattern, vppPath);
结果输出
PMATranslationX.Text = cogPMAlignTool.Results[0].GetPose().TranslationX.ToString("F3");
PMATranslationY.Text = cogPMAlignTool.Results[0].GetPose().TranslationY.ToString("F3");
生成新的空间
CogFixtureTool cogFixtureTool = new CogFixtureTool();
cogFixtureTool.InputImage = cogImageFileTool.OutputImage as CogImage8Grey;
cogFixtureTool.Run();