视频来源:b站
https://www.bilibili.com/video/BV1ZS4y197mk/?spm_id_from=333.337.search-card.all.click&vd_source=ed0219dc0ed7a6e1d0ced6918306b5b5
VisionPro 9.0以上版本特有CogCreateGraphicLabelTool
Formatted {D:F2}格式化文本
CogResultsAnalysisTool 结果分析工具
应用程序向导->配置选项卡->添加输入字段
增加二级ToolBlock工具,传入参数,直接进行数据分析计算,不需要实例
化各工具
ToolBlock 简单脚本
Input.item1、Output.item1
标记图形类
CogCircle、CogCoordinateAxes、CogEllipse、CogLineSegment、
CogPointMarker、CogRectangle、CogRectangleAffine、CogPolygon
先找到终端某个项,再选择未过滤项,可以更快定位
在工具中不仅可以添加输出,还可以添加输入
卡尺搜索方向为实心箭头,投影方向为空心箭头
原始图像-均值滤波 检测瑕疵
层级:QuickBuild->CogJob->ToolGroup->ToolBlock->CogTool
ToolBlock简单脚本中输入输出的引用:Inputs.param1
ToolGroup脚本与ToolBlock类似
CogPolarUnwrapTool 角度范围±影响展开方向
CogPMAlignTool 自动搜索图像形状,训练模式:带图像的形状模型,训练
区域->区域模式:像素配对限定框,打开建模器,提取形状,直接确定,
删除多余轮廓
CogColorSegmenterTool颜色分割工具 输出识别到的黑白图像(前景和背
景)
CogColorExtractorTool颜色提取工具 同时处理多种颜色
CogCompositeColor
CogAffineTransformTool 图像仿射变换工具,调正+裁剪
CogCopyRegionTool 图像指定区域填充像素以排除干扰,注意开启图像配
对(像素填充会覆盖原图像)
胶路检测过程:
胶路缺陷标记:
Blob输出图像作为其他工具输入图像:Blob工具,终端添加
CreateBlobImage选项
获取斑点边缘多边形
CogPolygon p=blob1.Results.GetBlobs()[i].GetBoundary();
边缘多边形顶点数目
p.NumVertices
简单脚本:Inputs.Input1
如果脚本添加后增删了ToolBLock的终端,应点击脚本菜单执行
“检查界面终端”,会将增删内容添加到Inputs或Outputs下方方便引用
ToolGroup 只支持高级脚本
用脚本添加输入输出要在Initialize方法中
this.toolGroup.DefineScriptTerminal(10,"Input1",true);//true代表
输入,此赋值方法仅在代码首次运行时有效,如果仅仅改掉数值为5,重新
运行依然是10,只能删除代码后重新添加,或在GroupRun中赋值
计算过程在GroupRun方法中
int Data=this.toolGroup.GetScriptTerminalData("Input1");
this.toolGroup.SetScriptTerminalData("Output1",Data);
toolGroup不支持其他工具的输出直接拖拽到该工具上,必须先在代码中添
加终端项,也不支持图形化的输入输出标签,不会自动添加程序集
简单脚本不支持图像上添加图形
在空图像层中添加图像层
using Cognex.VisionPro.Implementation
ModifyLastRunRecord()方法中添加如下代码:
CogImage8Grey image=mToolBlock.Inputs["InputImage"].Value as
CogImage8Grey;
CogRecord r=new CogRecord
("LearName",CogImage8Grey,CogRecordUsageConstance.Result,false,im
age,"test");
lastRecord.SubRecords.Add(r);
ToolBlock工具栏具有验证控件 ToolGroup则没有
CogMisc.DegToRad() 角度转弧度
ImageFile保存JPG、BMP图片
string filename=@"D:\image.bmp";
myImageFile.Open(filename,CogImageFileModeConstants.Write);
myImageFile.Append(image);
myImageFile.Close();