VisionPro笔记(一)

发布时间 2023-08-04 08:39:06作者: 聆听微风

VisionPro学习日志

图像获取与保存工具

ImageSource 图像源加载工具

image-20230803091049502

image-20230803091124213

当连接相机以后,可以调节相机的各类参数,如曝光,明暗,对比度等参数

CogImageFileTool 保存相机图像工具

image-20230803091426788

需要保存在新建文件中

image-20230803091457754

当点击Job上面的播放按钮以后,会进行文件的录入。

image-20230803091555374

注意一点:只有当录制模式开启的时候,才会将采集到的图像录入到新建的图像数据库文件中。否则,只会轮播显示在当前数据库中的已保存的文件。

image-20230803091542405

如果需要大量获取图像的话,需要点击“实时运行”的按钮(连续作业模式)

image-20230803091933943

CogAcqFifoTool 保存相机配置参数工具

image-20230803092458596

模板匹配工具 CogPMAlignTool

基础操作

Step1: 添加匹配工具

image-20230803095712661

然后点击一次运行,等到下面变为红色以后

单击拖拽,从上面OutputImage链接下面的InputImage(产生链接情况)

image-20230803095559155

image-20230803095756476

Step2: 抓取训练图像,并且勾选区域

单击匹配工具

image-20230803095938003

先选择训练图像

image-20230803100029097

然后点击抓取训练图像

然后左上角会出现以下浅蓝色框,勾选区域

image-20230803100135256

image-20230803095423940

image-20230803100351817

Step3: 适当修改旋转角度和缩放大小

image-20230803100334161

Step4: 点击训练

image-20230803100511198

Step5:开始检验

image-20230803100444531

掩膜器

使用背景:当只需要边缘轮廓,忽略内部细节的时候使用

重点:使用掩膜覆盖的部分不会被提取边缘特征

image-20230803132754276

步骤1:使用掩膜覆盖图像区域

选择掩膜工具

image-20230803133103306

image-20230803133336510

步骤2:在模板匹配工具界面点击训练

此时可以观察到,原先被掩膜填充的区域没有被提取边缘轮廓线条

image-20230803133524960

案例分享:使用掩膜器查找一元硬币的正反面

image-20230803152722792

第一步:先使用掩膜器的矩形工具,形成矩形区域的掩膜,然后使用橡皮擦,获得空闲圆环区域。

第二步:区域查找工具选择圆形区域工具,勾选住圆环

建膜器(建模器,是在当前查找区域的基础上,查找拟合轮廓)

步骤1:先修改训练模式为 带图像的形状模型

image-20230803134240972

步骤2:进入建模器

image-20230803134336820

步骤3:自定义轮廓特征

image-20230803134638430

推荐直接提取形状,然后自动生成轮廓,然后删除嘈杂轮廓。

或者自己创建轮廓。

注意一点:轮廓是有极性方向的

步骤4:修改参数

  1. 修改区域模式为像素配对限定框

image-20230803135113982

  1. 勾选忽略极性

    image-20230803135242368

步骤5:开始训练

步骤6:修改关键特征线段的权重

如果特定线段的特征数量少,可以适当改变权重值,让当前特征的比重是其他线段的10倍。

image-20230803135640533

案例分享:使用掩膜器查找一元硬币的正反面

image-20230803153324113

1.进入建模器工具:选择圆环工具,勾选住圆环轮廓(其中紫色的圆环就是建模产生的)

2.外部使用圆环工具,圆的半径范围比先前的圆环的半径大。

详细介绍参数

其中参数1-参数6 是创建模板的参数

参数7- 参数16 是运行参数

参数1:精细特征与粗糙特征

image-20230803101106072

image-20230803103031600

image-20230803101124196

image-20230803101141407

其中绿色线条是精细特征,黄色线条是粗糙特征。

边缘特征的多少,会直接影响搜索的速度和精度

可以通过修改粗糙和精细的颗粒度,修改粗糙和精细特征的表现情况。

粗糙的颗粒度>精细的颗粒度

粗糙的上限为25.5

颗粒度变大,选取的特征点会变少

本质上,颗粒度大,穿越的像素点就多。包围的轮廓就会变得粗糙。

如果选择的颗粒数到25以后,出现的边缘特征会很少,影响到定位的精度

image-20230803103415849

image-20230803103439358

image-20230803103529720

一般情况下,我们考虑使用自动选择就好

参数2:算法选择

PatMax 涉及的点数多,精度比较高,速度稍微慢。定位的精度可以为1/40像素

PatQuick 算法速度快

PatQuick与PatMax算法:处于两者中间

PatFlex算法:比较适合于畸变的情况

参数3:弹性

image-20230803104550409

弹性参数:当实例和当前模板有一定的出入的时候,可以适当进行修改

参数4:边缘阈值(可以适当滤除一定的边缘干扰)

低于边缘阈值的会当作物件的背景。大于阈值的才会视作物件的轮廓。(边缘对比度)

如果设置一个过小的阈值,那么会产生过多的干扰

设置一个过大的阈值,将会造成边缘轮廓的损失

image-20230803105126066

image-20230803105036712

参数5:极性

image-20230803105344802

图像轮廓(从暗到亮,是正极性;反之,是负极性)。

这里勾选上了以后,将会进行全局极性的忽略。

参数6:保存和加载模板

image-20230803105607469

参数7:旋转角度和缩放比例

先点击

image-20230803110331157

image-20230803110307202

参数8:查找个数

image-20230803111829290

希望查找的结果个数。

如果当前图像有四个待查找的图例。

Case1:设置查找数量为1个。如果四个结果的分数都相等,那么会显示4个结果

Case2:设置查找数量为3个。那么会按照查找分数的从大到小,显示排列前3个的结果

参数9:接受阈值

当前找到一个结果。分数为0.821

image-20230803112631853

image-20230803112310919

当找到结果的分数如果小于这个范围,那么不能被接受,会被放弃

image-20230803112417279

当前案例分数为0.82,但是接受阈值为1.0。那么当前结果就会被放弃

image-20230803112508272

参数10:粗糙分数筛选

image-20230803113004060

image-20230803113034589

参数11:计分考虑杂斑

image-20230803113550414

不考虑的时候,将会导致计分变低

参数12:粒度限制(和创建模板时的参数基本一致)

image-20230803114304443

参数13:对比度阈值(背景和工件的切割对比度)

参数14: XY重叠度???(目前未弄明白,后续会补上)

参数15: 勾选超时参数

image-20230803114551422

强制让当前搜索的任务时间限制到这个时间之内,超过就会直接结束

参数16: 显示匹配特征(匹配边缘分数查看)

image-20230803133939478

观察此时图像,绿色边缘为匹配良好,黄色为一般,红色为匹配较差

image-20230803134018784

多模板匹配工具 CogPMAlignMultiTool

案例:使用多模板匹配工具匹配螺丝,螺帽垫片

image-20230803154915646

Step1: 新建模板

先点击新建图案

image-20230803155103270

image-20230803155142244

然后修改图案

image-20230803155215799

进入模板编辑界面,然后进行创建模板相同的操作流程。

image-20230803155310588

此时没法修改运行参数,所以需要到外部的界面修改运行参数信息

修改角度和查找个数

image-20230803155621147

然后使用编辑功能返回到单个模板编辑界面中,点击运行按钮。如果当前模板功能正常以后,那么我们使用外部工具进行多模板功能

image-20230803155918164

Step2: 外部工具进行多模板训练(先添加训练队列参数,然后进行图像训练)

先添加训练模板

image-20230803160147057

image-20230803160159701

点击训练按钮

image-20230803160230205

当出现训练完成标识以后,说明训练成功

image-20230803160308480

同理,添加垫片模板。

这时,需要修改运行时间参数为增强。否则软件只有运行第一个模板

image-20230803161006280

此时查看运行结果,发现结果正确

image-20230803161057185

image-20230803161128527

模板匹配工具 CogSearchMaxTool

可以用于很精细,很小的特征。这时匹配结果会很好,但是耗时会比较严重。但是支持颜色查找的功能

image-20230803164812337

image-20230803165207615

模板匹配工具 CogCNLSearchTool

线性查找工具:不支持平移与旋转功能。可以查找的非常精细,查找也快

image-20230803162118124

工件坐标系跟随工件 CogFixtureTool与区域灰度直方图统计工具 CogHistogramTool(自选区域,输出当前区域的灰度直方图数据)

程序编写

判断工件的右侧孔是否存在(使用模板匹配,然使用仿射变换找到右侧孔的具体位置,然后判断灰度值)

image-20230803171721655

image-20230803171846983

需要选择命名空间是fixture,然后使用区域轮廓,框选中右侧孔的区域

image-20230803172207524

然后使用结果输出工具:

image-20230803172248952

第一个f(x)是函数工具

第二个Input是输入接口

最后修改输出Output,修改参数1的变量名称

image-20230803172332819

输出结果显示

当显示为绿点的时候,说明接受。

image-20230803172622122

显示为斜线的时候,说明失败

image-20230803172722925

卡尺测量工具 CogCaliperTool

image-20230803195141041

工具介绍:

实心三角形箭头方向是扫描方向

虚线箭头方向是投影的方向

image-20230803195345678

如果不小心改错了,可以在这里直接修改

image-20230803200806018

image-20230803201220478

image-20230803201307301

此处滤波算子的窗口大小为1。如果设置为2,将会导致产生的边缘峰值更平滑

设置界面参数说明

image-20230803201608646

边缘极性:沿着搜索方向,从明到暗;或者从暗到明

对比度阈值:物体与背景的灰度值比较。当对比度阈值大于边缘的值时候,会导致找不到边缘对。也能通过设置对比度阈值来筛选边缘对

过滤一半像素:是通过设置滤波算子窗口。当前为2,则内容上应当为(-1,-1,0,1,1)。设置的滤波窗口的半径越大,导致灰度投影会变得更加平滑。

最大结果数:如果当前存在多个一阶投影的极值。则会按照变换的剧烈情况进行排序,选取排名最靠前的

当前图像的对比度阈值为5.0

image-20230803202011251

当前设置对比度阈值为31时,导致无法找到边缘对

image-20230803202126391

会按照分数值进行排序

image-20230803202634862

image-20230803202621474

计分说明:

image-20230803203004863

当默认当前对比度为255的时候为1.0分数

那么当前对比度为30.6的时候。分数为0.117。基本符合计算image-20230803203111541

image-20230803203139973

image-20230803203218749

如果想要更高的分数的话,我们可以适当的修改计分函数

位置坐标说明

出现在实心箭头左侧的边缘,位置显示会为负数

image-20230803203602279

image-20230803203709915

边缘对说明:

边缘对宽度:只有当边缘对两侧宽度约等于当前值,才会认为是边缘对。

这里找到的结果会与当前边缘对宽度进行比较。如果差异越大,计分越低

image-20230803203807625

案例:测量螺丝的内径、外径,测量牙间距,测量螺牙个数计数

链接:https://pan.baidu.com/s/1jw_mf6vGL-jxWyXccny0jg
提取码:tryi