东莞市东城街道莞樟路主山段82号金岭大厦A座418
Tel: 0769-23600026 Fax: 0769-23600026-88
E-mail: [email protected]
84162741 石鑫华视觉网
ICP备案证书号:粤ICP备17077968号-1
当前有 96 个查询,耗时 0.095608 秒,在线 1040 人,Gzip 已启用,内存使用 4.848 MB
NI LabVIEW Vision 自定义找圆算法
NI Vision Find Circle与石鑫华自定义找圆效果对比我们知道NI Vision中有一个现成的找圆函数Find Circle,用于找圆。可以测量圆的直径、半径、圆度、信噪比等:
NI Vision自带的找圆函数这个找圆函数,用于一些圆轮廓质量非常好的项目中还是非常好的,不过只要图像质量差一点,它就显得有点力不从心了。如圆度就不能很好解决,图像明显不圆,输出的圆度值却非常小(小表示很圆);如果找圆时只有少量的边缘点,也会自动拟合出一个圆。这些问题,都是现有的函数不能解决的。因此石鑫华利用NI Vision的其它函数,进行了一些优化,可以得到更理想的测圆函数。下面先来看一些图像,首先使用NI的VBAI来看一下效果(VBAI就是NI Vision中自带的找圆函数):
VBAI中找圆函数
找圆参数找圆参数设置为方向是由里向外;边缘极性是黑到白;查找对象是第一边缘点;最小边缘对比度为50;内核尺寸为15;投影宽度为15;搜索线间距是5。
判断的值为直径和圆度偏差判断标准为圆的直径与圆度以及很差的图像上是不是能正常识别圆:
图像1效果对于图像1,可以看到上面有内弧(是产品上的一个鼓簧露出引起的),但是VBAI给出的偏差只有1.29像素?真的只有1.29像素吗?有这么好?
图像2效果图像2是一个变形的产品,可以看到其中的圆右边是往里陷的,这样测量的圆度也只有1.77,根本是无法测量的意思呀。
图像3效果
图像3边缘细节对于图像3,可以看到,右上角位置的鼓簧露出明显,边缘都在内部的鼓簧上,但是测量出来的圆度只有2.03像素,这种小几个像素的值根本无法判断其OK与否。
图像4效果
图像5效果
图像6效果
图像7效果
图像8效果
图像9效果图像9比较理想的一个产品,可以看到圆度偏差值很小。
图像10效果
图像11效果
图像12效果
图像13效果
图像14效果
图像15效果图像15是一个没有放置产品的图像,但是因为ROI靠近治具边缘,也得到了一个圆,虽然其直径变大了,但是看其圆度仍然只有2.99。这种错误应该是不可接受的。对于这种情况,肯定是不能认为其中有圆的。
下面我们再来看一下石鑫华自定义的找圆函数的效果,首先要看一下干扰系数为1时的效果。本效果中,函数边缘对比度也设置为50,搜索线间距也是5,方向里外到,边缘极性黑到白,内核大小15,投影宽度15,最小边缘点数为20:
图像1效果图像上的圆度方差为58.14(圆度方差为圆度标准差的平方,可以只看方差,这样拉开的距离会更远),圆度标准差为7.63。在VBAI中,这个图像的圆度差是1.29像素。从这数据可以看到,二者的差别非常大。但是后面那些比较好的图像,其实差别比较小。请接着往下看:
图像2效果图像2中的圆度方差达到了149.09,这个值已经远远的超过了VBAI中的1.77,甚至圆度标准差12.21都比VBAI中的要大。这样拉开距离,才能更利于判断其是否圆。
图像3效果
图像4效果
图像5效果
图像6效果
图像7效果
图像8效果
图像9效果图像9中看到,比较理想的圆时,圆度方差仅为5.62,标准差为2.37,这个理VBAI中的0.32值差距比较小。这样说明如果要判断圆度,可以将圆度标准差设置在几十或一百多的样子,这样不圆的都可以测量,而比较圆的图像圆度方差只有几或几十的话,是可以通过测量的。
图像10效果
图像11效果
图像12效果
图像13效果-圆度方差只有3.93-VBAI中为0.26
图像14效果-圆度方差为2.51-VBAI中圆度差为0.18
图像15效果图像15中的效果,在自定义找圆函数中,则没有找到圆。在VBAI中是可以找到一个错误圆的。自定义算法有其更强大的地方。下面我们再把干扰系数降低到0.9,这样可以避免掉10%的干扰点,圆度方差和圆度标准差会更小:
图像1效果降低干扰系数后,圆度方差为43.47,而未也不降低前为58.14,降幅比较明显。
图像2效果图像2中的虽然降低了近50的方差,但是仍然有超过100,所以这种产品仍然会是不良产品(当设置的方差大于100时就可以检测出来)。
图像3效果
图像4效果
图像5效果
图像6效果
图像7效果
图像8效果
图像9效果-圆度方差降为4.1
图像10效果
图像11效果
图像12效果
图像13效果
图像14效果
图像15效果-仍然未找到圆
图像15将最小边缘点数设置为17时,可以找到一个错误的圆如上图所示,当将最小边缘点数设置的比较小时,也是会找到错误的圆的。所以这个最小边缘点数的设定,不能太过小,太小很容易出错。但是NI的找圆函数中,则没有相关的参数可以选择,只要有三个点就可以拟合出一个圆,而对于拟合出来的圆到底对不对,NI则不负责的。
所以从以上效果来看,本算法还是有一定的优势的。本算法已经成功应用于上图中的产品的内径测量,最开始也是使用NI Vision中的找圆算法,但是很多问题确实无法解决,就是因为其圆度的表述非常有问题。明明不圆的产品,其圆度也只有两三个像素。根本无法区别开来OK、NG产品,所以才自己定义找圆函数的。
算法仅售200元,购买地址:NI LabVIEW Vision 自定义找圆算法_源代码_图像处理_机器视觉商城_LED光源_控制器_工业相机_镜头_图像采集卡_视觉配件_方案_系统_图像处理源代码_培训教程_论坛_华视自动化_石鑫华视觉网
属性 [软件类型] 源代码 [软件版本] LabVIEW2014SP1 Vision2015 [操作系统] Windows [供货周期(天)] 1