文章目录
- 一 案例要求
- 二 展示效果
- 三 案例思路
-
- 1.模板匹配将整个齿轮匹配到
- 2.将模板匹配到的坐标连接到CogFixtureTool,使坐标系保持固定
- 3.CogFixtureTool输出的图像输出给找圆工具,找到圆心的坐标
- 4.用另一个模板匹配工具找到每个齿轮以及中心坐标
- 5.CogFixtureTool输出的图像输出给卡尺工具,模板匹配的坐标给到卡尺工具,使卡尺每次都能卡到齿轮上,这样卡尺能找到每个齿轮上的线,以及线的中心点(由于卡尺工具使平行的需要在代码中循环加90度)
- 6.将卡尺工具所测线的中心点和找圆工具的圆心输出给两点距离工具,(由于测得的距离没有按顺序输出,需要将所测距离放在数组或者列表中,排序后取出最大值和最小值)输出结果并通过到代码将label输出
- 四 使用工具
- 五 代码逻辑
- 六 总结
一 案例要求
测量齿轮顶点到圆心的最值
二 展示效果
三 案例思路
1.模板匹配将整个齿轮匹配到
2.将模板匹配到的坐标连接到CogFixtureTool,使坐标系保持固定
3.CogFixtureTool输出的图像输出给找圆工具,找到圆心的坐标
4.用另一个模板匹配工具找到每个齿轮以及中心坐标
5.CogFixtureTool输出的图像输出给卡尺工具,模板匹配的坐标给到卡尺工具,使卡尺每次都能卡到齿轮上,这样卡尺能找到每个齿轮上的线,以及线的中心点(由于卡尺工具使平行的需要在代码中循环加90度)
6.将卡尺工具所测线的中心点和找圆工具的圆心输出给两点距离工具,(由于测得的距离没有按顺序输出,需要将所测距离放在数组或者列表中,排序后取出最大值和最小值)输出结果并通过到代码将label输出
四 使用工具
CogPMAlignTool(模板匹配)
CogFixtureTool(坐标定位)
CogFindCircleTool(找圆工具)
CogCaliperTool(卡尺工具)
CogDistancePointPointTool(两点距离)
五 代码逻辑
using System.Collections.Generic;//在visionpro软件中CogToolBlock中写代码,写列表需要手动引用命名空间
....
private CogGraphicCollection gc = new CogGraphicCollection();//图形显示,将label添加进去
....
gc.Clear();//每次需要清除一次,当切换到下一张图片后,会将之前添加的清除
foreach(ICogTool tool in mToolBlock.Tools)
mToolBlock.RunTool(tool, ref message, ref result);
CogFindCircleTool fct1 = mToolBlock.Tools["CogFind