石鑫华视觉 手机微信QQ:13450001061

图像编程

两条直线间的距离

文章来源:石鑫华视觉网时间:2022-09-02 17:43:17 点击:275

两条直线间的距离

image.png

两点直线间的距离

如上图所示,为两条直线间的距离。在这里使用了点到直线的距离,然后两这点到直线间的距离的平均值,以代替直线到直线间的距离。因为两条直线只有平行时,才有距离,如果不平行,那么他们总是会相交的。所以一般来讲,使用点到直线间的距离,再求平均值要理想许多。石鑫华机器视觉网提供,未经允许,请勿转载。

像这种距离,也可以使用夹钳、最大夹钳函数,不过这两个函数,对于毛刺干扰很敏感,如果边缘有毛刺,则会对测量结果造成很大的影响。因此建议先拟合直线,再使用直线上的点到另一直线的距离进行测量,准确度会高许多。

上图为视觉助手生成的脚本。读取的图像为视觉助手自带的图像。下图为视觉助手脚本生成的VI后面板:

image.png

视觉助手生成VI后面板

image.png

视觉助手乱VI前面板

使用视觉助手生成的VI,其实里面有很多内容是不需要的,视觉助手调用了许多IVA库中的内容,这些内容集成了许多的功能函数。因此我们可以对此进行一些简化与优化,从而提高测量效率,如下图所示,为上面的后面板中的Caliper函数:

image.png

Caliper函数

这里的Caliper函数,集成了各种几何函数。而对于一般的测量来讲,通常只需要使用其中的一种即可,如本例中点到直线间的距离,我们只需要上图中的Algorit函数中的一个分支就可以了:

image.png

IVA Caliper Algorithm函数

这样简化优化函数后,减少了中间环节,还可以改善程序执行的稳定性。

image.png

不优化函数,某些时候测量不到结果

经过优化后的函数:

image.png

优化后的函数

这样优化过后的函数,处理数据时,就相当稳定了。图像效果理想时,找边肯定是可以找到的,有了边,肯定就有两个点,使用点到直线的距离,得到了测量结果。

上面的函数进一步优化,将找边函数的参数优化一下,做成控件,将图像缓存创建与图像读取部分使用IMAGE引用代替,就可以变成一个图像处理函数子VI了。

视觉助手的具体使用与应用,请订阅《基于Vision Assistant的图像处理实用教程》。

首页
84162741QQ
联系