直线到直线间的距离测量
两条直线间的距离 http://visionbbs.com/data/uploads/allimg/131103/2-131103125001.jpg两点直线间的距离
如上图所示,为两条直线间的距离。在这里使用了点到直线的距离,然后两这点到直线间的距离的平均值,以代替直线到直线间的距离。因为两条直线只有平行时,才有距离,如果不平行,那么他们总是会相交的。所以一般来讲,使用点到直线间的距离,再求平均值要理想许多。石鑫华机器视觉网提供,未经允许,请勿转载。
像这种距离,也可以使用夹钳、最大夹钳函数,不过这两个函数,对于毛刺干扰很敏感,如果边缘有毛刺,则会对测量结果造成很大的影响。因此建议先拟合直线,再使用直线上的点到另一直线的距离进行测量,准确度会高许多。
上图为视觉助手生成的脚本。读取的图像为视觉助手自带的图像。下图为视觉助手脚本生成的VI后面板: http://visionbbs.com/data/uploads/allimg/131103/2-131103125042.jpg
视觉助手生成VI后面板
http://visionbbs.com/data/uploads/allimg/131103/2-131103125101.jpg
视觉助手生成VI前面板
使用视觉助手生成的VI,其实里面有很多内容是不需要的,视觉助手调用了许多IVA库中的内容,这些内容集成了许多的功能函数。因此我们可以对此进行一些简化与优化,从而提高测量效率,如下图所示,为上面的后面板中的Caliper函数: http://visionbbs.com/data/uploads/allimg/131103/2-131103125114.jpg
Caliper函数
这里的Caliper函数,集成了各种几何函数。而对于一般的测量来讲,通常只需要使用其中的一种即可,如本例中点到直线间的距离,我们只需要上图中的Algorit函数中的一个分支就可以了: http://visionbbs.com/data/uploads/allimg/131103/2-131103125227.jpg
IVA Caliper Algorithm函数
这样简化优化函数后,减少了中间环节,还可以改善程序执行的稳定性。 http://visionbbs.com/data/uploads/allimg/131103/2-131103125338.jpg
不优化函数,某些时候测量不到结果
经过优化后的函数: http://visionbbs.com/data/uploads/allimg/131103/2-131103125417.jpg
优化后的函数
这样优化过后的函数,处理数据时,就相当稳定了。图像效果理想时,找边肯定是可以找到的,有了边,肯定就有两个点,使用点到直线的距离,得到了测量结果。
上面的函数进一步优化,将找边函数的参数优化一下,做成控件,将图像缓存创建与图像读取部分使用IMAGE引用代替,就可以变成一个图像处理函数子VI了。
视觉助手的具体使用与应用,请订阅《基于Vision Assistant的图像处理实用教程》https://item.taobao.com/item.htm?id=538756535591。
希克斯 发表于 2013-11-4 08:58
支持石鑫华视觉http://shixinhua.com,支持机器视觉论坛http://visionbbs.com,支持机器视觉商城http ...
来学习,谢谢 机器视觉光源,环形光条形光面光同轴光,就去机器视觉商城http://visionbbs.com,进口品质,山寨价格 机器视觉,专业的石鑫华视觉http://shixinhua.com,专业的东莞华视自动化科技有限公司http://visionbbs.com 支持石鑫华视觉http://shixinhua.com,支持机器视觉论坛http://visionbbs.com,支持机器视觉商城http://visionbbs.com! 支持石鑫华视觉http://shixinhua.com,支持机器视觉论坛http://visionbbs.com,支持机器视觉商城http://visionbbs.com! 好例子,顶一个 http://shixinhua.com石鑫华机器视觉网,中国第一机器视觉门户! 买相机,买光源,买镜头,买软件,买教程,就到机器视觉商城http://visionbbs.com! 支持石鑫华视觉http://shixinhua.com, :):):):):):):):):):):):) 谢谢楼主!!!!!!!!!!!!!!!!! 嘿嘿,好好好好