- 1
- 0
- 约6.64万字
- 约 5页
- 2017-01-13 发布于贵州
- 举报
基于移动智能终端的车票管理软件设计
基于移动智能终端的车票管理软件设计 基于移动智能终端的车票管理软件设计
在旅客列车开行过程中,列车员的一项重要而繁琐的重复性工作是核验乘客的车票,防止旅客上错车;在即将到站时提醒相应铺位的乘客,以防旅客坐过站。在平板电脑、智能手机等移动智能终端广泛应用的大背景下,可利用摄像头采集车票图像,再通过图像处理技术提取出车票信息,实现车票管理的信息化。
从车票提取乘客信息有两种渠道,一是通过车票右下方的二维条形码;二是直接通过文字识别技术,读取车票上的文字信息。第一种渠道中,需要破解QR码的加密算法才能获得车票信息,这是一种不合适的行为。对于基层列车乘务员而言,是没有权限接入铁路部门的票务系统的。因此,应该考虑使用第二种方案来提取车票信息。这种方案的优点是避免了破解加密算法及带来的法律纠纷;缺点是需要进行图像处理及文字识别,运算量相对大一些。由于现有的移动智能终端大都配备4核以上的ARM处理器,1G Bytes以上的内存,及高分辨率摄像头,使得实时采集车票图像并提取车票信息成为可能。
1 系统概况
基于智能终端的验票软件,其图像采集设备采用终端自带的摄像头,通过终端自带的LCD屏、喇叭输出结果,充分利用智能终端的资源,大大降低系统部署成本。
为便于大量旅客信息的保存及查询,采用Sqlite数据库存储车票数据。此外,还有一些有关列车的设置信息,比如车次、车厢号、各站点的到站发站时间等。列车员可以通过触摸屏手动输入这些设置信息,也可以通过铁路网站直接下载。
软件的主要处理过程如图1所示:
预处理过程主要包括颜色空间转换、去噪、图像校正等过程。文字识别过程主要基于OCR识别引擎完成文字提取。识别结果存入数据库后,软件根据到站时间设置提醒闹钟,确定何时发出旅客到站的提醒信号。下面重点对预处理和识别部分的原理及过程进行叙述。
详细处理过程
预处理过程本文由论文联盟http://收集整理
本设计中的预处理过程主要包括以下两个方面:基于QR码图形的几何调整,以及基于固定位置的文本区域分割。
基于QR码图形的几何调整
由于采集距离远近及拍摄角度的不同,采集的车票图像尺寸和系统中标准车票图像尺寸间存在较大的差别,为便于后续处理,在预处理阶段除了进行颜色空间转换、去噪外,重点进行图像的几何调整。尽管OCR引擎在一定程度上能够自动处理诸如图像旋转、缩放、图像颠倒等问题,但会引入更多的计算量,同时增加出错的概率。为了提高识别性能,我们根据车票的特殊标志对车票图像进行几何调整。由于新一代的火车票票面上均印有二维QR码,我们可以通过二维QR码的形状及位置信息来对车票的几何参数加以判断。典型的火车票图片如图2所示:
从中可以看到,由于拍摄时不可避免地会产生图像旋转现象,在进行后续处理之前,需要先将图片旋转复原到正常位置。旋转复原的前提是确定图像拍摄时被旋转的角度,方法如下:
首先提取车票QR码图像的灰度边缘。常用的边缘提取算法有Sobel[1]、Canny[2]算子等,其中Canny算子的性能最好,但是复杂度较高;而Sobel算子具有计算过程简单的特点,适合在嵌入式设备上运行。这里使用Sobel算子的垂直模板来提取边缘,并对边缘图像进行二值化,得到的结果如图3所示。
接着对图中的线条进行骨骼化[1]处理。为了防止大量短线条的干扰,可以在进行骨骼化之前,使用膨胀腐蚀算法来滤除图中的大量小区域。骨骼化后的结果如图4所示。
可以使用直线拟合方法来提取图4中的各条直线,但更常用的是使用Hough变换[3]。Hough变换把图像空间中的直线检测问题转换为参数空间中的点检测问题,再在参数空间中通过简单的累加计算完成检测。完成Hough变换检测直线的结果如图5所示。利用图中直线的斜率,就可以判断QR码的旋转角度;通过对车票图像执行一个旋转变换,便可得标准角度的车票图像。
另外一个问题是判断车票的缩放比例以及判断车票是否颠倒。在本设计中,我们通过QR码中的位置探测图形来实现检测。
在QR码中,位置探测图形是指QR码中位于左上、右上、左下三个区域的方块状图形。如图6所示。每个位置探测图形的模块序列由一个深色-浅色-深色-浅色的次序构成,各元素的相对宽度的比例是1:1:3:1:1。检测位置探测图形的方法有很多[4],这里不详细叙述。找到三个位置探测图形以后,根据三者中心坐标之间的关系,可以判断出图像是正立还是倒立的,方法如下:
假设图像的坐标原点位于左上角,三个位置探测图形中心处的坐标分别为:,,。由三个点连接的三条线段中,寻找夹角接近90°的两条线段,如果90°夹角的内部指向右下角,则图像是正立的;否则图像是倒立的。
对于车票的缩放比例,在图片的角度已经旋转复原的情况下,根据测量三个位置
原创力文档

文档评论(0)