靳丽丽 吴平
摘 要:远程绘图系统作为人机交互中的一种方法,有着深远的意义。如何充分运用现代的多媒体工具如投影仪、摄像机绘制出精确的图片效果,成为研究的主要热点。提出基于ARM-Linux的远程绘图系统,是使用USB摄像头拍摄下平台1上用户所绘制的图像,将采集到的图像经过JPEG的编码压缩到较高的压缩比,再通过网络实时传输至平台2,并通过投影仪显示,投影仪的投影亮度经表面反射,进入摄像头镜头,再反馈给平台1。
关键词:嵌入式 ARM Linux 摄像头
中图分类号:TP277 文献标识码:A 文章编号:1007-3973(2013)007-109-02
1 引言
随着计算机技术的蓬勃发展,如何让计算机更好的为人类服务,人与计算机之间如何交互成为一个很重要的研究方向,远程绘图系统就是一种解决远程交互的方法。
建设远程绘图系统有若干种方法。一种方法是使用平板电脑的手写笔进行绘制,使用电脑显示器显示远程站点的绘制。但这种系统有一定的弊端,在平板电脑上进行手绘相比使用普通纸笔手绘来说并不自然,阴影和其他效果很难实现。
另一个建立远程绘图系统的方法是使用摄像头拍摄平台1的绘图,并将视频传输到平台2使用投影机显示,投影仪的投影亮度经过表面反射,进入摄像头镜头,再反馈给平台1。将投影仪与相机结合到一起,投影仪一相机系统自然应运而生。其原理图如图1所示。
本文所介绍的是基于ARM920T 内核的S3C2440AL开发板为基础的远程绘图系统的实现,该系统是基于嵌入式硬件平台和Linux 操作系统下进行的,采用USB 接口的摄像头来进行数字图像采集,利用JPEG视频压缩编码方式,使用投影仪进行显示。
图1 系统硬件总体结构
2 系统硬件平台
2.1 硬件
每个远程绘图系统平台包含以下组件:
ARM开发板:CPU: Samsung S3C2440AL-40 400MHz;SDRAM: 32-bit 64Mbyte;2M Nor flash + 64M Nand Flash。
投影仪:魔影MOV269微型投影机,分辨率为640*480。
摄像头:罗技快看畅想版UVC E1100。
支架:使用输液架进行改装。
2.2 几何标定相机与投影关系
图像像素M经过投影仪,投影到投影面P上,经过投影面反射,被相机抓取成像,位置变为N。确定投影图像位置M和相机成像位置N之间的几何映射关系,就是投影仪和相机间的几何标定。
计算机视觉研究中,三维空间中的物体到像平面的投影关系即为成像模型,针孔模型是光学中透视投影的理想模型。针孔模型假设物体表面的反射光都经过一个针孔而投影到像平面上,即满足光的直线传播条件。在本系统中,假设纸张是平整的,而且投影仪与摄像头遵循相同的透视投影模型,设摄像头坐标为(xc,yc),投影仪坐标为(xp,yp),则摄像头坐标与投影仪坐标关系为:
(1)
其中:Hpc是一个3X3矩阵,且纸张在同一平面时Hpc不会改变。
3 系统软件平台
由于嵌入式系统资源非常有限,包括内存资源、CPU处理速度等,因而软件设计的目的和思想就是在完成任务的同时尽可能地节约系统的资源提高系统的性能,因此本系统选用开源、免费、性能稳定、可靠的Linux 操作系统。编译环境采用交叉编译调试的方式,交叉编译器为arm-linux-gcc。嵌入式Linux 内核Kernel 采用2.6.13版本,根文件系统使用ramdisk。
系统架构。系统由4个线程组成:纸张检测线程,绘图线程,发送线程以及接收线程。其中纸张检测线程检测捕获图像中纸张位置;绘图线程将显示图像填充OpenGL纹理缓冲区;发送线程将YUV图像转换为RGB并压缩传送;接收线程解压缩图像并更新显示图像。其软件系统架构如图2所示。
4 关键技术
在远程绘图系统中,纸张检测与图像扭曲是最为关键的技术。将捕获的图像进行一系列的图像处理后进行边缘检测,然后将边缘像素进行直线拟合,确定纸张位置。采用仿射变换进行图像扭曲,为了避免图像出现间断,将矩形细分成若干个小矩形后进行扭曲。
4.1 纸张检测
将捕获图像将捕获图像转换为灰度图像并降低取样速率在水平方向与垂直方向进行平滑处理后进行边缘检测,然后将边缘像素进行直线拟合,确定纸张位置。
4.1.1 图像处理
首先将捕获的图像进行一系列的处理:将捕获图像(640X480 YUV 4:2:2)转换为灰度图像并降低取样速率为320X240。然后在水平方向与垂直方向进行平滑处理。
4.1.2 边缘检测
图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。边缘检测的基础是对梯度幅值设定阈值,对于捕获图像的每一个像素,计算X方向和Y方向的梯度强度。设I(x,y)表示像素(x,y)的强度,则像素(x,y)的梯度G(x,y)=(,)=(I(x+1,y)-I(x,y),I(x,y+1)-I(x,y)).
阈值的大小G(x,y)采用以下常量
()2+() 2≥C (2)
其中:C是常量,得到边缘像素Ei:
Ei = (xi,yi, i) (i=1,2,…,n) (3)
(4)
4.1.3 直线拟合
将检测到的纸张边缘直线拟合,设直线方程为方程(5)
aX+bX+c=0 (5)
为了避免重复进行最小二乘计算,首先估计直线(a,b)边缘平均角度的斜率,使得直线垂直于边缘角度:
(6)
然后迭代执行以下步骤:
(1)计算边缘像素的平均坐标X和Y。
(2)计算每条边缘直线的距离。
(3)去除20%最远边缘。
直到平均距离小于阈值。最后通过线性最小二乘法计算直线参数(a,b,c)。
4.2 图像扭曲
在两个空间位态的变换用矩阵的表示是再简便不过了,矩阵在图形图像中大量使用,这里也利用矩阵来表示两个图像的映射关系。如果坐标形式是:
则该变换称为仿射变换。每一个变换后的坐标u和v是原坐标x和y的线性函数,且参数均是由变换类型确定的常数。仿射变换有普遍的特性,即平行线变换到平行线且有限点变换到有限点。用齐次坐标来表示:
系统采用OpenGL进行图像的扭曲,当扭曲一个矩形时,OpenGL会将这个矩形沿对角线分成两个三角形然后采用仿射变换对这两个三角形分别进行扭曲,导致扭曲后的四边形沿对角线出现间断。为了避免这种现象的产生,将检测到的纸张图像细分成16X16个矩形,然后计算出17X17个顶点坐标,最后采用OpenGL将16X16个矩形同时扭曲。
5 总结
本文设计,开发了一种基于ARM-LINUX的嵌入式S3C2410A微处理器的远程绘图系统。该系统使用USB摄像头拍摄一节点用户所绘制的图像,采集完的图像经过JPEG的编码压缩得到了较高的压缩比,再通过网络实时传输至另一个节点,并通过投影仪显示,具有灵活性强和稳定可靠等特点,同时加上嵌入式系统体积小、成本低、性价比高等,使人与人可以更好的进行远程交互。
参考文献:
[1] 陈雪梅.基于嵌入式系统的服装CAD绘图机的开发[D].天津工业大学,2004.
[2] 张恬.移动多媒体终端技术的研究及实现[D].青岛理工大学,2008.
[3] 张杰,张勇,黄道颖,等.基于IPv6的网络家电远程控制系统的设计与实现[J].微计算机信息,2006(31).
[4] 金福辉.基于Intel Xscale270平台与嵌入式Linux的图像采集系统设计[D].山东大学,2007.
[5] 尤晓敏.基于3G技术的视频传输终端的设计[D].浙江工业大学,2010.
[6] 林蕊.基于SIP的流媒体终端设计与实现[D].电子科技大学,2012.