5 图像获取结果
图7分别是在室内环境下,桌面上一个普通乒乓球在摄像头视频显示的结果(左)和在动态处理后摄像头视频显示(右)的截图,其中视频的下方同时显示了一横条图片。图像处理函数完成了视频在绿色通道中的同步显示。经验证,图像处理的结果良好,色彩正常,并且无明显滞后等异常现象。
6 运动目标检测
获取OV9650图像后,在此系统平台上完成了对运动物体的目标检测,取得了良好效果。常用的运动目标检测方法有:光流法、帧差分法以及背景差分法[7]。光流法大多计算复杂,占用CPU时间较多;帧差分法常常检测目标不够完整;因而针对嵌入式平台采用了运算速度较快的背景差分法。实验首先采用了基于灰度图像的背景差分法,但效果不够理想:设f(i,j)为一帧视频图像序列;Rf、Gf、Bf为其中的任一像素的红绿蓝分量,i,j为像素的横坐标和纵坐标。B(i,j)为背景图像序列,同样地,RB、GB、BB为其中的红绿蓝分量,依据以下公式计算灰度值(类似黑白摄像头获得的灰度值):
背景差为: fB(i,j)=f(i,j)-B(i,j)。此系统中RGB格式为5:6:5格式,红绿蓝分量均取5位,绿色分量舍弃了最低位。获得的差分图像分别以红色显示和二值化获得的结果如图8所示。
如图8(右)所示,由于灰度图像的背景差分法获得的像素值普遍较低,因而屏幕亮度较暗,在室内光线中LCD屏幕显示很不清晰;图8(左)为进行二值化后背景差分法的图像,也仅能够得到小球的部分区域,效果不够理想。于是本文针对于彩色图像提出了基于颜色通道的背景差分法,可以获得理想的效果。设P为颜色通道(这里红色通道取值为0xF800),则基于颜色通道的背景差分法用如下公式计算:
背景差为: fB(i,j)=f(i,j)-B(i,j)。若取阀值T则:fB(i,j)=fB(i,j)-T。获得的差分图像分别在红色通道中显示和二值化所得的结果如图9所示。可见图9左图二值化后可获得乒乓球的圆形轮廓,十分清晰;而且在红色通道中的图像显示轮廓明亮,说明数值强度大抗干扰能力强。在获得图像后并自动计算出形心位置,在横轴和纵轴以白色直线显示中心位置,在以240×320分辨率输出时,平均速率达30帧/s,实现了对运动目标中心的实时检测,如图9右图所示。实验结果表明, 此基于Micro2440的视觉处理平台上能够很好地进行图像及视频的显示及处理。
本文基于Micro2440的视觉处理平台具有以下特点: (1)Micro2440平台提供了丰富的外围接口,方便功能扩展,S3C2440A自带有CAMIF(Camera Inter-face) 模块,无需接口转化电路,核心板与底板分离可以进一步缩小体积;(2)CPU工作频率 400 MHz,处理速度较快,OV9650高达130万像素,分辨率高。
在每完成一帧的视频采集后,能够及时地进行图像处理,并且图像处理的结果能够在LCD上同步显示;同时轻松转换便可以方便地得到标准24位BMP图像,为进一步数字图像处理提供了良好的平台。