>
首页 » 业界动态 » 用于监控的图像采集与处理系统

用于监控的图像采集与处理系统

作者:不详  时间:2007-03-04 16:02  来源:

要:本文介绍了一视频图像采集处理系统,可用于车辆的安全监控。系统主要功能包括单片机控制ISP-PLD器件实现对视频头的图像高速采集与存储,单片机图像压缩与PC机串行通信实现图像数据的传输,在PC机端实现图像处理和显示等。

关键词视频图像;串行通信;VB

1 引言

随现代交通运输业蓬勃发展,对交通运输的安全要求也越来越高。运输公司与客户常要对运输车辆的营运状态随时监视(尤其贵重货物的长途运输)。目前,基于交通监控方面的应用系统大多以紧急报警、车辆定位与语音通信为主,图像方面的应用不多。本设计正是基于这样的考虑,设计了车辆现场图像采集与传输系统。它能把车内图像信息记录下来并可以传送到监控方,获取图片信息。本文分别介绍了系统构成和各部分软件编程等。

2 系统组成

视频采集系统构成如图1所示,它利用ISP-PLD在线可编程及芯片速度快的特点,控制高速A/D转换器将视频头采集的图像数据存储下来,再利用单片机数据处理和通信功能,对数据进行压缩和传输。同步分离芯片LM1881芯片将视频信号中的复合同步、场同步信号分离出来供ISP采图的控制。ISP芯片选择ISPLSI1032-60LJ(84),通过启动控制线与8位数据线和高速A/D转换器TLC5510连接,16位地址线、8位数据线、读写控制线等与两片RAM 62256相连。

图 1 视频采集系统框图

单片机8031的数据线和地址线与ISP相连,同时控制与RAM连通。8031的串行口经电平转换芯片MAX232与标准的RS232通信电缆相连。

从摄像头出来的是视频信号不能直接进行A/D转换。视频信号中除图像信号外还有场同步、行同步、开槽脉冲等信号,它们和图像信号混合在一起如图2 [5]。要采到图像数据,首要先对视频信号进行必要的同步分离。本系统采集一幅256*256的图像,也就是视频信号中的一帧图像,共256行,每行采256个点。通过视频同步分离器LM1881分离出场同步与复合同步脉冲如图2,ISP捕获到一个场同步脉冲(上升沿)后,确认开始采集图像(单片机控制信号)后,经延时(延时 1加延时 2共约830us)消掉非图像信号开始采集首行图像。启动A/D TLC5510、

图 2  同步分离出的信号波形

产生地址信号并将转换完的图像数据存入存储器RAM。在首行的256个视频数据点采完后,以下的每行以行同步脉冲为启动信号,经延时(延时 2约1us)后启动A/D计数采集、存储,直到采完256行图像。

系统通过单片机读取存在RAM中的图像,单片机的地址与数据线与RAM连通。而ISP也要对存储器操作,所以,需要采取一定的控制使系统确定是ISP还是单片机对RAM操作。这里,采用了类似微处理器DMA总线方式对存储器进行操作,单片机的数据和地址线及读写线通过ISP控制与RAM连通。

ISP编程使用VHDL硬件描述语言,主要完成图像采集,单片机通信控制和单片机地址数据线切换等功能。

3.系统软件编程

本文主要介绍三部分软件编程:双机通信控制、单片机软件编程和微机界面编程。

3.1 PC机与单片机之间的串行通信

3.1.1双机通信流程

由于本系统设计使用的是简单的三线串行通信,硬件握手线(DSR、RTS等线)没有连接,为保证通信可靠进行,需要使用软件握手。单片机与PC机之间的通信流程如图3所示:数字表示通信顺序。     

3 双机通信流程

3.1.2 通信数据格式

图像通信每传送一行数据双方握一次手。本系统的通信双方约定的数据格式如图4:

图 4 通信数据格式

3.1.3 PC机与单片机通信的时钟波特率

在有单片机与微机之间通信的应用中,单片机的时钟选择要慎重。为了保证通信的可靠性,通常波特率相对误差不要大于2.5%,而且SMOD位的选择影响单片机波特率的准确度。本设计原设计8031的时钟由ISP的20M时钟二分频10MHz提供。在进行通信调试时,通信模式为“9600,N,8,1”,单片机的SMOD=1时,波特率相对误差10.7%,在这种条件下,微机发送单片机接收时,通信虽可进行,但接收的大部分是误码,如:31H变成71H;而当单片机发送微机接收时,通信根本无法进行,微机没有任何反应。所以,不得不使8031自备时钟7.3728MHz,波特率为19.2kbps时,SMOD=0波特率相对误差0.1%,双机的双工通信完全可靠。

3.2 单片机程序设计

3.2.1 程序流程

在本系统中,单片机的任务主要有三个:(1)控制ISP-PLD对视频信号采集与存储。(2)单片机的图像数据压缩。(3)单片机与PC机串行通信传数图像和车牌数据。整个过程通过按键中断控制实现,语言为MCS-51汇编语言。流程按通信协议控制运行,流程图略。

3.2.1 单片机的图像数据压缩

本系统传输的是一个大小为64KB的灰度图像,如不压缩,按9600 bps的速率串行发送大约需要1分多钟的时间。很明显处于干扰较多且高速运动的车辆中,这么长的时间会带来许多问题,需要对之压缩。

使用8位51系列单片机进行图像压缩,有速度、指令与算法、存储空间等方面的限制。

很难实现较理想的压缩效果。但使用C51系列的单片机或使用单片机易于实现的简单的算法,也可压缩数据。本文设计提出了一种基于背景单一或有大片相同像素值的图像的压缩方法。类似于二值图像传真的压缩,单一的大片相同像素值的图像,可以用其灰度值和像点数代替。而且此编码是在通信过程中进行,不用把数据送回存储器,节省了时间,简化了过程。方法如下:

从存储器读入的数有两种传输模式:原样传输与压缩格式传输。对于连续像素灰度值不同的点原样发送;对连续像点(大于三个)相等灰度值的像素以压缩格式发送。压缩格式如图:

图 5 压缩数据格式

确定传输格式的是一段比较指令和计数判断指令,一旦发现有不同灰度值的像点,原统计过程结束,将压缩格式的三个数或单个原样像素值发送出去,进入下一统计过程。图像发完后加上一串结束标志数。接收解压时,根据压缩标识确定时原样显示还是显示压缩格式的像素——连续若干个相同灰度值的点。

传统的二值图像压缩有一个缺点:当图像中不连续像点超过50%时,压缩就没有效果,因为他要为一个单独像点传像点数“1”,甚至出现增大数据量的副作用。而本方法克服了上述缺点。需要说明的是对于图像景物单一的地方,由A/D转换器得到的数据并非完全连续单一灰度值,而是在该灰度附近的几个值。所以,要实现更理想的压缩效果,需要在编码前进行“二次量化”把图像数据分辨率(灰度等级数)降低。这样处理后,景物单一部分的灰度值就变换为连续相同像素灰度值,再进行压缩编码就可实现较大的压缩率。

3.3 上位机编程

VB作为一种面向对象的可视化设计工具,可以用来实现风格各异的应用系统.这些系统具有精美的用户界面。简单方便的操作方式,强大的数据库功能,丰富的表格和图形输出。对于图形监控程序的开发是一种很好的Windows编程环境。

3.3.1 VB开发串口通信应用

由于本系统采用的是简单的三线串行通信,九针串行口的其他引脚(如:RTS,DSR等)并未用上,所以并不能触发MSCommn控件的On-commn事件,只能用查询控件属性的方式通信。应用MSCommn控件必须正确设置其几个重要属性,如波特率,端口号等。

3.3.2 图像处理与显示

根据通信协议:每接收完一行图像数据,PC机就发送一个确认信号与单片机握手,告知传送下一数据。在发送确认信号前完成数据处理,如:图像描点、黑白亮度调整等。

从摄像头采集的图像数据是8位二进制像素数据,单片机把它们从RAM中读出再传给PC机仍是8位二进制数,而VB的MSCommn控件的通信接收模式有两种:1)字符数据接收或发送(即ASCII码值)。2)二进制数组类型数据。在以往的二进制数通信中,双方需要用一定的算法将二进制数变为ASCII字符传输,在接收方再用该算法变换回来,很麻烦。VB的两种接收模式极大方便了二进制数通信,无需变换。图像数据以二进制模式接收。

对于图像数据,在通信过程中偶尔错几个点并不影响图像质量,但如果数据有丢失,接收缓冲区无法收满指定数量的点,程序将在此停滞,通信无法进行下去。所以有必要采取错误检测和处理。在此可添加一个时钟控件定时,其计时触发的时间间隔约比接收一行数据的时间稍长一点。当一行像素有丢失时,时间足够长到触发时钟中断事件,这时,PC机就发送一信息数据给单片机,告知传输数据有丢失,重传上一行图像。

PC机端通信控制流程见通信协议的PC部分。

1. 图像的显示

PC机以二进制模式接收的图像数据在显示前需要数据类型变换,即将二进制数变为整型数,也就是256个灰度级的像素值.图像的显示利用VB的Picture控件为画板,用描点函数将图像逐点画到画板上。接收一行画一行,画完整幅图像后存为BMP格式的图像文件。接收到的像素值作为RGB颜色函数的参数,而RGB函数为描点函数提供颜色参数。这样描出的点就如实的显示了图像的灰度值,效果如图6:

6 VB显示出的图像

2. 图像比例调整

单片机发过来的是一幅256*256的正方形图像,而摄像头摄入的是适合于电视机或显示器显示的比例为4:3(或16:9)的长方形图像。所以在未经处理而直接显示的图像中,近处的景物(如人脸)就有“拉长”失真(如图8),对较远的景物失真并不明显。要想得到真实的图像必须进行比例调整,在此使用插值法:在一行数中,每隔四个点插入一个点,其灰度值等于相邻两个像素灰度值的平均值。如图7:

图 7 插值示意图

1列和2列都是插入的像素列,其灰度值分别是D列与E列的平均值、H列与I列平均值,其他部分以此类推。经过插值,256*256的图片就变换为340*256长宽比为4:3的图像。可以看到:与原景失真几乎看不出来。对比如图:

图 8 256*256原图 图 9 340*256处理后的图

4 结论与应用前景

通过软硬件综合调试,本软件可与硬件协同工作,实现了图像数据的正确传输与显示等系统要求的功能。同时,也得出几个有价值的结论:1) PC机与单片机双机通信中在没有硬件握手情况下,可以用软件协议保证通信无误进行;2) 单片机的时钟要根据需要选择,在有与PC机串行通信时,尤其要注意波特率相对误差及SMOD对它的影响;串行通信中的“死机”现象大多是由于时钟波特率的设置不当引起的。3)用VB开发串行通信应用除要选择合适的方法外,还应注意收发缓冲的问题。而且,以二进制模式收发数据时注意二进制数组的使用,否则会有数据类型不匹配的错误。

本次设计的图像采集传输系统只需添加少量电路和GPS-OEM板就可将定位、速度等数据采集并传输,再与车辆移动通信相结合将有极大的实际应用价值——因为以可编程ASIC+单片机为核心的电子应用系统本身就极具扩展性。

相关推荐

TMS320VC5402与PC机进行串行通信的两种方案

串行通信  PC机  2011-07-21

用CPLD设计LED显示屏控制电路

视频图像  LED显示屏  2011-07-21

基于MPC860与STl6C654的串行通信设计

MPC860  STl6C654  串行通信  2010-10-08

基于VB与单片机的温度测控系统设计

单片机  VB  MSComm  2010-06-21

基于VB的霍尔传感器性能测试系统设计

霍尔  传感器  串行通信  VB  2010-06-02

Intersil推出新款三通道模拟视频延迟线芯片

Intersil  KVM  视频图像  ISL59920  2009-07-23
在线研讨会
焦点