论文部分内容阅读
随着精密制造业的蓬勃发展,对图像检测的需求日益增大,而且摄像头分辨率不断提高、图像处理算法日渐成熟,这些都促使了计算机视觉技术广泛地应用于生产线的日常检测当中。针对这一实际需求和仍存在的一些问题,本文致力于研究并实现基于亚像素技术的图像检测系统。为了快速剔除某些含有明显异常的产品,本文将广泛应用于图像检索领域的不变矩引入到图像检测领域,在研究极半径不变矩的基础上,构造了新的极半径矩,并提出了组合矩的办法。即组合Chen不变矩的前四个低阶矩和新的极半径矩的前三个低阶矩,利用组合后的组合矩来快速排除明显异常的产品,从而减少检测单位产品的平均时间开销,提高检测系统的效率。针对目前市场上检测系统的精度普遍不高,而高精度的算法往往因计算较慢而难以应用到工业生产线上的问题,本文提出了一种基于多二次径向基插值函数的亚像素细分算法。该算法能实现亚像素级边缘的精确定位并快速提升检测系统精度。针对传统亚像素插值方法没有充分利用纵方向上的灰度分布和变化信息的缺点,新方法构造了多二次径向基插值函数,把梯度看成横轴坐标的函数,对曲面上的亚像素做插值运算。为了避免曲面插值的大运算量,通过改进插值方法,有效利用纵轴方向上的灰度分布变化信息计算插值函数,并投影到横轴方向做曲线插值。这样可以避免直接进行曲面上的亚像素插值,从而大大减少运算量,缩减时间开销,以满足工业生产线的实时在线检测的时间性能要求。为了进一步提高算法效率,针对具体算法包含大量相似的运算和比较操作,应用堆结构替换传统的二维数组,避免通过比较众多函数值寻找最大值,有效地减少了计算时间。此外,本文实现了LINUX下的线程池,并对亚像素算法进行分割,实现了算法层面的多线程序列并发执行,提高了检测系统的效率。综上所述,本文设计并实现了LINUX系统下的图像检测系统,探索和研究了如何提升检测算法精度以及有效降低时间开销,通过实验分析和比较证实了所提方法的优越性。