VisionPro笔记(一)
VisionPro学习日志
图像获取与保存工具
ImageSource 图像源加载工具
当连接相机以后,可以调节相机的各类参数,如曝光,明暗,对比度等参数
CogImageFileTool 保存相机图像工具
需要保存在新建文件中
当点击Job上面的播放按钮以后,会进行文件的录入。
注意一点:只有当录制模式开启的时候,才会将采集到的图像录入到新建的图像数据库文件中。否则,只会轮播显示在当前数据库中的已保存的文件。
如果需要大量获取图像的话,需要点击“实时运行”的按钮(连续作业模式)
CogAcqFifoTool 保存相机配置参数工具
模板匹配工具 CogPMAlignTool
基础操作
Step1: 添加匹配工具
然后点击一次运行,等到下面变为红色以后
单击拖拽,从上面OutputImage链接下面的InputImage(产生链接情况)
Step2: 抓取训练图像,并且勾选区域
单击匹配工具
先选择训练图像
然后点击抓取训练图像
然后左上角会出现以下浅蓝色框,勾选区域
Step3: 适当修改旋转角度和缩放大小
Step4: 点击训练
Step5:开始检验
掩膜器
使用背景:当只需要边缘轮廓,忽略内部细节的时候使用
重点:使用掩膜覆盖的部分不会被提取边缘特征
步骤1:使用掩膜覆盖图像区域
选择掩膜工具
步骤2:在模板匹配工具界面点击训练
此时可以观察到,原先被掩膜填充的区域没有被提取边缘轮廓线条
案例分享:使用掩膜器查找一元硬币的正反面
第一步:先使用掩膜器的矩形工具,形成矩形区域的掩膜,然后使用橡皮擦,获得空闲圆环区域。
第二步:区域查找工具选择圆形区域工具,勾选住圆环
建膜器(建模器,是在当前查找区域的基础上,查找拟合轮廓)
步骤1:先修改训练模式为 带图像的形状模型
步骤2:进入建模器
步骤3:自定义轮廓特征
推荐直接提取形状,然后自动生成轮廓,然后删除嘈杂轮廓。
或者自己创建轮廓。
注意一点:轮廓是有极性方向的
步骤4:修改参数
- 修改区域模式为像素配对限定框
-
勾选忽略极性
步骤5:开始训练
步骤6:修改关键特征线段的权重
如果特定线段的特征数量少,可以适当改变权重值,让当前特征的比重是其他线段的10倍。
案例分享:使用掩膜器查找一元硬币的正反面
1.进入建模器工具:选择圆环工具,勾选住圆环轮廓(其中紫色的圆环就是建模产生的)
2.外部使用圆环工具,圆的半径范围比先前的圆环的半径大。
详细介绍参数
其中参数1-参数6 是创建模板的参数
参数7- 参数16 是运行参数
参数1:精细特征与粗糙特征
其中绿色线条是精细特征,黄色线条是粗糙特征。
边缘特征的多少,会直接影响搜索的速度和精度
可以通过修改粗糙和精细的颗粒度,修改粗糙和精细特征的表现情况。
粗糙的颗粒度>精细的颗粒度
粗糙的上限为25.5
颗粒度变大,选取的特征点会变少
本质上,颗粒度大,穿越的像素点就多。包围的轮廓就会变得粗糙。
如果选择的颗粒数到25以后,出现的边缘特征会很少,影响到定位的精度
一般情况下,我们考虑使用自动选择就好
参数2:算法选择
PatMax 涉及的点数多,精度比较高,速度稍微慢。定位的精度可以为1/40像素
PatQuick 算法速度快
PatQuick与PatMax算法:处于两者中间
PatFlex算法:比较适合于畸变的情况
参数3:弹性
弹性参数:当实例和当前模板有一定的出入的时候,可以适当进行修改
参数4:边缘阈值(可以适当滤除一定的边缘干扰)
低于边缘阈值的会当作物件的背景。大于阈值的才会视作物件的轮廓。(边缘对比度)
如果设置一个过小的阈值,那么会产生过多的干扰
设置一个过大的阈值,将会造成边缘轮廓的损失
参数5:极性
图像轮廓(从暗到亮,是正极性;反之,是负极性)。
这里勾选上了以后,将会进行全局极性的忽略。
参数6:保存和加载模板
参数7:旋转角度和缩放比例
先点击
参数8:查找个数
希望查找的结果个数。
如果当前图像有四个待查找的图例。
Case1:设置查找数量为1个。如果四个结果的分数都相等,那么会显示4个结果
Case2:设置查找数量为3个。那么会按照查找分数的从大到小,显示排列前3个的结果
参数9:接受阈值
当前找到一个结果。分数为0.821
当找到结果的分数如果小于这个范围,那么不能被接受,会被放弃
当前案例分数为0.82,但是接受阈值为1.0。那么当前结果就会被放弃
参数10:粗糙分数筛选
参数11:计分考虑杂斑
不考虑的时候,将会导致计分变低
参数12:粒度限制(和创建模板时的参数基本一致)
参数13:对比度阈值(背景和工件的切割对比度)
参数14: XY重叠度???(目前未弄明白,后续会补上)
参数15: 勾选超时参数
强制让当前搜索的任务时间限制到这个时间之内,超过就会直接结束
参数16: 显示匹配特征(匹配边缘分数查看)
观察此时图像,绿色边缘为匹配良好,黄色为一般,红色为匹配较差
多模板匹配工具 CogPMAlignMultiTool
案例:使用多模板匹配工具匹配螺丝,螺帽垫片
Step1: 新建模板
先点击新建图案
然后修改图案
进入模板编辑界面,然后进行创建模板相同的操作流程。
此时没法修改运行参数,所以需要到外部的界面修改运行参数信息
修改角度和查找个数
然后使用编辑功能返回到单个模板编辑界面中,点击运行按钮。如果当前模板功能正常以后,那么我们使用外部工具进行多模板功能
Step2: 外部工具进行多模板训练(先添加训练队列参数,然后进行图像训练)
先添加训练模板
点击训练按钮
当出现训练完成标识以后,说明训练成功
同理,添加垫片模板。
这时,需要修改运行时间参数为增强。否则软件只有运行第一个模板
此时查看运行结果,发现结果正确
模板匹配工具 CogSearchMaxTool
可以用于很精细,很小的特征。这时匹配结果会很好,但是耗时会比较严重。但是支持颜色查找的功能
模板匹配工具 CogCNLSearchTool
线性查找工具:不支持平移与旋转功能。可以查找的非常精细,查找也快
工件坐标系跟随工件 CogFixtureTool与区域灰度直方图统计工具 CogHistogramTool(自选区域,输出当前区域的灰度直方图数据)
程序编写
判断工件的右侧孔是否存在(使用模板匹配,然使用仿射变换找到右侧孔的具体位置,然后判断灰度值)
需要选择命名空间是fixture,然后使用区域轮廓,框选中右侧孔的区域
然后使用结果输出工具:
第一个f(x)是函数工具
第二个Input是输入接口
最后修改输出Output,修改参数1的变量名称
输出结果显示
当显示为绿点的时候,说明接受。
显示为斜线的时候,说明失败
卡尺测量工具 CogCaliperTool
工具介绍:
实心三角形箭头方向是扫描方向
虚线箭头方向是投影的方向
如果不小心改错了,可以在这里直接修改
此处滤波算子的窗口大小为1。如果设置为2,将会导致产生的边缘峰值更平滑
设置界面参数说明
边缘极性:沿着搜索方向,从明到暗;或者从暗到明
对比度阈值:物体与背景的灰度值比较。当对比度阈值大于边缘的值时候,会导致找不到边缘对。也能通过设置对比度阈值来筛选边缘对
过滤一半像素:是通过设置滤波算子窗口。当前为2,则内容上应当为(-1,-1,0,1,1)。设置的滤波窗口的半径越大,导致灰度投影会变得更加平滑。
最大结果数:如果当前存在多个一阶投影的极值。则会按照变换的剧烈情况进行排序,选取排名最靠前的
当前图像的对比度阈值为5.0
当前设置对比度阈值为31时,导致无法找到边缘对
会按照分数值进行排序
计分说明:
当默认当前对比度为255的时候为1.0分数
那么当前对比度为30.6的时候。分数为0.117。基本符合计算
如果想要更高的分数的话,我们可以适当的修改计分函数
位置坐标说明
出现在实心箭头左侧的边缘,位置显示会为负数
边缘对说明:
边缘对宽度:只有当边缘对两侧宽度约等于当前值,才会认为是边缘对。
这里找到的结果会与当前边缘对宽度进行比较。如果差异越大,计分越低
案例:测量螺丝的内径、外径,测量牙间距,测量螺牙个数计数
链接:https://pan.baidu.com/s/1jw_mf6vGL-jxWyXccny0jg
提取码:tryi