概述
在使用VisionPro时离不开使用找圆找线工具,以找线工具(CogFindLineTool)为例,简单说明自己对于工具内的卡尺记分的浅薄理解。
背景
工具:CogFindLineTool
事例图片:如下图所示,从左至右分别灰度从0-200逐渐增加,区间的白色区域灰度为255;
工具参数
极性:由暗到明
搜索方向:从右往左
对比度卡尺计分
(对比度阈值:30,X0 = 160,灰度差:255-20=235>160)
往CogToolGroup或CogToolBlock添加找线工具时,默认开启的是对比度卡尺计分
X0 代表的是灰度差,如图所示将X0设置成160时,会搜索该极性及方向上灰度值>=160的第一条边
通过改变X0 可以抓到图中的不同的边
(对比度阈值:30,X0 = 190,灰度差:255-60=195>=160)
(对比度阈值:30,X0 = 130,灰度差:255-120=135>=130)
(对比度阈值:30,X0 = 90,灰度差:255-160 = 95 >=90)
(对比度阈值:30,X0 = 50,灰度差:255-200 = 55 >=50)
(X0 = 255,灰度差:255-20 = 235 <255)
如上图所示,图中灰度差最大的区域灰度只有235,当X0 设置为 255时,但仍可抓取到此区域,由此可只,X0与图片灰度差的关系为:
灰度差>X0 | 最大灰度差<X0 |
抓取灰度大于X0的第一条边 | 抓取灰度差小于X0的灰度差最大的边 |
X0与对比度阈值的关系
(对比度阈值:50,X0 = 200,图中最大灰度差为255-20=235)
(对比度阈值:200,X0 = 50)
(对比度阈值:255,X0 = 50)
由此可得在对比度卡尺计分中,对比度阈值与X0对于抓变的影响
X0>对比度阈值 | X0<对比度阈值 | ||
灰度差>X0 | 抓取灰度大于X0的第一条边。 | 灰度差>对比度阈值 | 抓边灰度大于对比度阈值的第一条边。 |
最大灰度差<X0 | 抓取搜索方向上大于对比度阈值的灰度差最大的特征边 | 最大灰度差<对比度阈值 | 抓边失败 |
位置卡尺计分
以卡尺的中心为原点,以搜索方向的反方向一处距离原点为X0的点开始,沿着搜索方向搜索第一个符合对比度阈值的特征边。
通过改变X0 可以抓到图中的不同的边
(X0 = 100,对比度阈值 = 50,灰度差:255-200 = 55 > 50)
(X0 = 50,对比度阈值 = 50,灰度差:255-160 = 95 > 50)
(X0 =0,对比度阈值 = 50,灰度差:255-120 =135 > 50)
(X0 =100,对比度阈值 = 150,灰度差:255-60 =195 > 150)
当X0=100至原点这段距离内没有符合对比度阈值的特征边时,继续沿着此方向搜索第一条符合对比度阈值的边。
位置卡尺计分总结:
在X0距离内 特征边对比度>对比度阈值 | 在X0距离内 特征边对比度<对比度阈值 |
在X0范围内抓取符合对比度阈值的第一条边 | 沿着搜索方向抓取第一条符合对比度阈值的边 |
PositionNeg卡尺计分
未知原理,待补充。