采用视频方式的点坐标测量方法
摘要:介绍了一种采用视频方式的点坐标测量方法。方案设计巧妙,测量方法稳定了可靠、精度高。该方法采用CCD摄像头拍摄屏幕画面获取光点信号,对摄像头输出的视频信号经过处理后,得到需要的一系列数字信号,然后在CPLD中完成数字逻辑功能,最终得到点的坐标。
关键词:点坐标 视频 CPLD
测量一幅画面中某点的坐标,大多采用人工方法。但在有些工作条件下,这种方法给工作人员带来不便。本文介绍一种自动测量点坐标的实现方案。
1 系统总体设计方案
该方案测量对象是光点,在实验中用红色激光笔产生,使用加入红色滤光片的CCD摄像头。摄像头拍下屏幕的画面后,将其输出的视频信号同时送入同步分离电路和前置放大器。经过同步分离电路后,分别得到复合同步信号和场同步信号;经过前置放大电路放大、反相后,输入到钳位放大器。当有光点落在屏幕上时,视频信号的白电平处会产生尖脉冲。通过高速比较器可以截获这个尖脉冲信号(即光信号)。该方案预处理电路结构见图1。
javascript:window.open(this.src);" style="cursor:pointer;"/>
复合同步信号与光信号分别作为RS触发器的R、S输入信号,触发器输出端Q输出的脉冲、振荡器输出脉冲以及经过延时的复合同步信号一起输入三输入与非门,与非门输出脉冲中作出水平计数器的计数脉冲。当光脉冲到来时,水平计数器停止计数并将数值写入水平锁存器。复合同步信号同时也作为水平计数器的清零信号,在它的下一个下降沿(即下一行)使计数器清零,进入新一轮水平计数状态。该方案行计数器结构见图2。
与图2类似,场同步信号与光信号分别作为RS触发器的R、S输入信号,输出信号Q与复合同步信号以及延迟后的场同步信号经过三输入与门后,输出的脉冲作为垂直计数器的计数脉冲。光脉冲到来时,垂直计数器停止计数并将其中的内容写入垂直锁存器。场同步信号同时也作为垂直计数器的清零信号,在下一场开始前将其清零,进入新一轮垂直计数状态。该方案场计数器结构见图3。
水平锁存器和垂直锁存器中的数值即为光点的坐标,这样就测量出图像中某光点的位置。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2 系统方案实现
2.1 同步分离电路
在电视系统中,为了能正确地重现图像,要求收端与发端同步扫描。只要扫描频率相同、起始相位相同,收端就可以重现发端图像并认为是同步的。当收端、发端的频率、相位不同时,图像将被破坏,产生畸变,甚至无法重视,因此在图像信号中加入了同步脉冲。在发送端,每当扫完一行图像时,加入一个行同步脉冲,每扫完一场图像时加入一个场同步脉冲。它们与图像信号一起被发送出去。在接收端,使行扫描锯齿波电流只有当行同步脉冲到达进才开始逆程期,而场扫描齿波电流也只有在场同步脉冲到达时才开始逆程期。这样就保证了同步。为了使扫描逆程光栅不显示(消隐),还需要加入行、场消隐脉冲,这时的图像信号电平成为消隐电平。摄像头输出的是将图像信号,同步信号,行、场消隐信号这三种信号组合起来形成的黑白全电视信号。我国电视规定:行频为15625Hz,行同步脉宽为4.7μs;场频为50Hz,场同步脉宽为2.5×1/15625=160μs。
在该方案中,使用专用芯片LM1881将行、场同步脉冲分离出来。LM1881是正极性图像信号输入、TTL电平输出芯片,从而简化了电路。图4是LM1881的连接图以及工作波形示意图。
正极性图像信号从2脚输入,在1脚和3脚分别输出复合同步信号和场同步信号。5脚输出后沿脉冲信号,作为钳位放大器的钳位脉冲输入。7脚输出奇偶场指示信号。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2.2 钳位放大器
反极性图像信号加到解集成电路AN5612的1脚,在其内部进行视频放大,增益由18脚外接对比度电位器R1控制。频率特性由R3、C7组成的网络进行高频补偿。4脚的外接膏药度电位器R5调节黑电平的高低。视频信号在加入AN5612之前由于通过耦合电容失去了直流成分,因此,视频信号的消隐电平而改变。为了克服这个缺点,可采用直流耦合放大,但由于一般的直流耦合放大容易产生温漂,致使黑电平难以稳定。常用的办法是采用钳位电路,将复合同步脉冲延迟至行消隐信号后肩,从而把亮度信号的消隐电平钳位于给定的直流电平上。LM1881的5脚输出的信号即为所需要的钳位脉冲。这部分电路见图5.AN5612的7脚输出R基色信号,作为比较器LM361的一路输入。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2.3 比较器
比较器选用LM371,最高速度达到20ns,AN5612的7脚输出的R基色信号作为LM361的一路输入信号input1;另一路输入input2为参考,通过试验,其值取为3.1V。LM361有两路互补的TTL电平输出output1和output2,它们与输入之间的关系可以表示如下:
javascript:window.open(this.src);" style="cursor:pointer;"/>
LM361的两路输出分别送入CPLD(复杂的可编程逻辑器件)。
2.4 数字逻辑电路
该方案的数字电路部分主要由CPLD构成,实现行计数和场计数功能。CPLD选用ALTERA公司MAX7000S系列的EPM7128S,支持在系统可编程(In System Programming)。ISP技术及其器件是20世纪90年代迅速发展起来的一种新技术与新器件。它使设计者能在产品设计、制造过程中对产品中的器件、电路板乃至整个电子系统的逻辑和功能随时进行组态或重组。采用这种器件开发的数字系统,升级与改进是极其方便的。
2.4.1 行计数
行计数的功能框图可参见图2,图6是实现行计数的波形示意图。复合同步信号延迟10.5μs后至行消隐电平后肩。延迟至消隐电平的后肩是为了避免计数器在行逆程期间计数,减小误差。行同步脉宽为4.7μs,而行消隐电平有5.8μμs的后肩,故延迟时间定为10.5μs。在行消隐电平后肩时刻,三输入与非门开始输出15MHz的计数脉冲,行计数器开始计数。当有光脉冲去到时(即LM361的9脚输出低电平),RS触发器的输出Q跳变为“0”,故三输入与门输出“0”,计数停止计数;同时光脉冲触发锁存器,存储计数器中的数值,至此就获得了光点的行坐标。下一行同步脉冲到来时,会将计数器清零,开始新一行的点坐标测量。
我国电视规定一行的周期为64μs。除去行消隐脉冲,这样在15MHz的计数脉冲下,一行最多可计算的点数为(64-12)×15=780。也可以根据对精度要求的不同,选用不同的时钟。
2.4.2 场计数
场计数实现的思想类似于行计数,只不过将复合同步信号替代为场同步信号;而场计数脉冲为复合同步脉冲,而不是15MHz脉冲信号。同样,为了避免场计数器在场逆程期间计数,将场同步脉冲宽度延迟到1600μs。光信号到来时,计数器停止计数,并将数值入场锁存器。下一场同步脉冲到来时,将计数器清零,开始新一场的点坐标测量。
由于摄像头采用隔行扫描方式,两场构成一帧画面,奇数场扫奇数行,偶数场扫偶数行,所以此时得到的场坐标与实际值之间有较大误差。为了提高精度,需要确定当前扫描的是奇数场还是偶数场。假设场计数器中的值为n,那么若LM1881的7脚输出0,表明当前扫描的是偶数场,光点实际应在第2n行;若7脚输出1,表明扫描的是奇数场,光点实际应在第2n-1行。
根据以上所述的行、场计数逻辑关系,可以用硬件描述语言(HDL)设计数字电路。在综合、仿真后,通过下载线将程序写入CPLD中,通过JTAG口可以方便地调试程序。
2.4.3 误差校正
由于光在空气中是发散的,所以实际上摄像头拍摄到的不是光点,而是光斑。在本方案中,电路测得的坐标实际为光斑左上解某点的坐标,而不是光斑中心点的坐标,故还需要对此值进行校正,才能得到光斑中心点较准确的坐标位置。校正值应根据实际情况下光斑的大小来确定。
表1是在一个12.7cm×7.6cm的区域内,通过实验所得的三组数据。起始点为这块区域的左上角一点。实验数据表明了方案设计的正确性。该方案已应用于实际项目中,取得了良好的效果。
表1 实验数据表
单位:cm | 自动测量 | 手工测量 | 误 差 | |||
行坐标 | 场坐标 | 行坐标 | 场坐标 | 行 | 场 | |
第一组 | 7.00175 | 6.00957 | 7.2 | 5.9 | -0.19825 | 0.10957 |
第二组 | 3.02892 | 4.48713 | 3.2 | 4.4 | -0.17108 | 0.08713 |
第三组 | 6.62726 | 3.71982 | 6.7 | 3.9 | -0.07274 | -0.18018 |