1.需求:测量零件的宽度。
2.解决思路:使用模板匹配工具先匹配到零件,使用卡尺工具测量宽度,使用标签工具显示宽度信息。
3.步骤:
导入CogPMAlignTool工具,训练模板,实现模板匹配功能。
导入卡尺工具,将该工具的InputImage链接自Source.OutputImage。
边缘0极性设置为由暗到明,边缘1极性设置为由明到暗,边缘对宽度设置为100,运行。
卡尺工具就像游标卡尺一样,刚好将两个边缘卡住。
测出结果为0.89。这样是不是就结束了?并没有,我们运行其他图像试试。
这张图像相对于上一张图像一个明显的区别是旋转了一个角度,当然模板匹配工具还是能够正常的匹配到零件的,但是为什么卡尺工具没能起作用呢?这是因为,我们在上一步中是将卡尺设置成水平方向的,而这张图像是倾斜的,但是呢,卡尺自己并不会随着图像的位姿变化而自适应的变化,因为卡尺并不知道图像之间的位姿关系。说白了,因为我们在设置卡尺的时候,是设置在模板图像上的,那么我们运行模板图像的时候自然卡尺能正常起作用,但是我们运行其他图像时,卡尺并不一定起作用,如果我们能拿到其他图像相对模板图像的位姿关系,那么就好了。
导入定位工具。该工具的InputImage是当前运行的原始图像,第二个参数的输入是模板匹配工具的GetPose,会将当前的图像相对于模板图像的位姿信息给到定位工具,定位工具的输入给到卡尺工具。这样卡尺工具就获得了包含相对于模板图像位姿信息的一张图像了。
运行,卡尺工具均可正常卡住。
好了,到了最后一步,将测量出来的宽度值显示在图片上。
使用标签工具。
把卡尺工具的宽度值输出给标签工具的InputDouble,因为width的数据类型就是double的。
输出格式化字符串,小数点后保留两位。
运行。
visionpro实践项目(一) 模板匹配工具 定位工具 卡尺工具 标签工具
于 2024-11-26 22:05:56 首次发布