应用场景
查找图像中一些特征点的坐标,可以使用之前文章中介绍的模板匹配定位,也可以使用本篇文章中介绍的抓边,然后利用两边交点的算法得到想要的特征点。当然,你也可以选择其他的几何算法,包括“线段中点”、“两线角度”、“求垂直线”、“两点距离”等。
路径C:\Program Files (x86)\National Instruments\LabVIEW 2020\vi.lib\vision\Analytic.llb中有很多视觉中的几何算法,可以自由选择你想要的函数。我们这里用的是“IMAQ Lines Intersection”。
代码展示
1)超时分支
2)加载图片分支
3)划出ROI分支
4)抓第一边分支
我们选择“IMAQ Find Edge 2”函数来抓直边,输入的关键参数:
Search Direction:Top to Botton,与Edge Polarity:Rising Edges配合使用,在ROI区域内自上而下寻找从暗到亮的直边。这两个参数比较关键。抓边默认抓第一条合适的边,也可以修改下图中的第二个参数去找最佳的边。
Kernel Size 和Width参数也可以调整,当黑白边界不是很明显时,可以调整这两个参数,参数调整的细节,我也不是很清楚,经验主义吧,多修改尝试找到最合适的值。
4)抓第二边分支
抓第二边的代码、参数与抓第一边类似。这样我们在源图中得到了两条边,它们用红色线段显示。
5)两边交点分支
我们使用“IMAQ Lines Intersection”计算得到两边交点坐标,使用“IMAQ Overlay Oval”在交点坐标处标注出圆圈,并使用“IMAQ Overlay Text”函数在交点下方显示坐标文字信息。
结束语
本文对于NIVision视觉系统中图像抓边的功能及函数介绍较为简洁,只做参考或者说是提供一种快速使用的思路,具体实战中还是需要大家多练习和领悟。依旧没有源代码分享,大家多敲敲键盘吧。