因为要给出目标点的位置,所以每张图像上的物体最终只能用1个点来表示,这个点就是物体的中心点,在图形学上称为图形的几何中心。确定物体的几何中心,只需扫描整张图像,寻找颜色是白色点,记录它们的横坐标和纵坐标,并做累加,同时累加白色点的个数,最后把累加得到的横坐标的值除以白色点个数后,得到的值就是物体中心点的横坐标数值,纵坐标也是如此。其算法表示如下:
一般,这样得到物体的几何中心还是比较准确的,除非物体在运动过程中发生了非常大的形变。得到的质心是运动物体在图像中的像素坐标,转换成实际坐标从而达到对运动目标的实时监测。
4 软件设计
CCD采集获得的图像为8位位图格式,本文采用可视化编程软件VC++实现图像预览以及处理。处理后的数据经串口输出给控制部分。计算机的程序流程图如图4所示。
面阵CCD采集到的图像经处理提取后,得如图5所示其实时图像,并提取跟踪目标的坐标,图像每过100 ms数据处理1次,并与下位机进行通信进行控制。
在串口通信模块软件实现中使用API函数结合非阻塞通信、多线程等手段;在主线程中处理图像数据,在辅助线程中监视串口,有数据到达时依靠事件驱动,读人数据并向主线程报告,并且WaitCommEvent(),ReadFile(),WriteFile()都使用了非阻塞通信技术,依靠重叠(overlapped)读写操作,让串口读写操作在后台运行。这样做大大节省了时间,提高了系统的运行效率。
5 硬件设计
计算机通过RS 232的方式与单片机进行通信,将测得的位置信息传送给单片机,单片机收到数据后控制步进电机进行跟踪。其主要包括下位机与上位机的通信,以及步进电机的驱动电路的设计,硬件控制的框图如图6所示。
6 结语
本文通过面阵CCD对图像采集,结合计算机数字图像处理技术以及单片机,实现了对数据图像的扫描处理,从而获得了跟踪点的目标位置及对扫描的图像进行实时动态的显示以及跟踪。在软件设计中使用了快速中值滤波和多线程技术使得在实际使用中能够达到实时准确的目标,为提高非接触位置测量方面的理论研究、测量技术及工程设计的水平将有很大的帮助。随着CCD传感器制作技术的提高,图像处理软件的进一步发展,CCD传感器与集成电路进一步集成,面阵CCD传感器的应用前景将更加广阔,其应用的领域将深入到每一个相关的专业领域,将给人们带来新的概念。