开门见山!影响系统准确性,主要有三个因素:系统的硬件、系统的设置、系统软件的算法。
系统的硬件
1、与准确性有直接关系的自然是你所选用的相机了。很简单,测量同样的物体,用低分辨率的相机和用高分辨率的相机,测量出来的结果自然有天壤之别了(具体计算方法,相信大家已经知道)。另外相机的质量也很重要,举个不很恰当的例子,你用国产“虎丘”牌相机所拍出的相片,拿去跟人家德国“莱卡”拍出的片子比,能一样吗?!
2、镜头的选用也相当重要。这主要是因为镜头的畸变问题,用价格高昂的远心镜头,自然能拿到较准确的测量结果。
3、最后,就是系统所用的“视觉卡”。因为视觉卡负责将相机拍下的视频信号,转换为数字信号,并放进电脑的内存中去。如果在转换或放置图象的过程中,出问题的话,如:丢失了一些信息,自然会直接影响你的测量结果。
系统的设置
1、相机的设置。在主题文章“关于相机的标定”中,已经讨论过。为确保相机的成象面(CCD面)与被测物平行,因引要作“相机标定”。但是标定同样也有“标”得准不准,“标”得好不好的问题。所以如果你在作相机标定时,“标”得不够好不够准,你就不知道你相机的设置是否是最佳状态。那么你也就不能百分之百地保证测量的结果是最准的结果。
2、作完“相机标定”就要作“系统标定”。同理,如果你“系统标定”“标”得不好不准,或是你用作“标定”的那个“标准系统标定模块”就不准,就什么都完了。
系统软件的算法
由于“视觉测量系统”测量时,通常用的都是“边缘寻找”算法。所以,系统准不准比的就是各家这种算法的写法好不好。最基本的“边缘寻找”算法有以下四种:硬性设定灰度值与亚象素结合;卷积算法;一级分解算法;二级分解算法。
不好意思这些名字都是我从英文硬翻过来的,以后有机会和大家讨论“边缘寻找”算法时,再详细解说。其最不准的就是第一种“硬性设定灰度值与亚象素结合”算法,因为“亚象素”算法的精确度只能达到1/2个象素。这就是说如果目前系统的象素值==1毫米/象素,那么用这个算法就可以计算到0.5个毫米。而最后一种“二级分解”算法,据说用数学的方法可以证明出精确度可达1/20象素。