韓雪++粟慧龍

摘要:通過分析目前我國鐵路臥鋪車廂換票存在的諸多問題,本文提出了一種基于ANDROID 臥鋪車廂車票識別APP系統,大大提高了乘務員的工作效率,并給旅客的乘車帶來了很大的方便。
關鍵詞:ANDROID;換票;車票識別
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2017)10-0162-02
1 研究背景
隨著人們生活水平的不斷提高,越來越多的旅客選擇乘坐火車臥鋪車廂出行,而且很多時間是夜間乘車,為了確保乘客的準確到達下車,乘務員往往會提前至少一個小時喚醒旅客,這不僅影響了乘客的正常休息而且相鄰床位的旅客也會受到影響。特別是在春運期間,乘務員工作量大,極易出現換票不及時、漏換等狀況,嚴重時將大大影響乘客的行程。在移動智能終端設備被廣泛應用的今天,利用攝像頭獲取乘客車票上的信息,再利用圖像處理技術獲取車票信息,實現車票管理信息化。基于此,本文針對臥鋪車廂換票問題,構建了基于ANDROID臥鋪車廂車票識別APP系統,可有效解決乘務員換票存在的一些問題。
2 系統結構及使用流程
2.1 系統結構
ANDROID 車票識別APP主要由用戶登錄與校驗、車票字符識別、車票二維碼掃描、車票信息編解碼、藍牙通訊等五個模塊組成。如圖1所示。
2.2 系統使用流程
啟動車票識別APP軟件,進入用戶登錄界面,驗證用戶信息,進入主界面后首先進行藍牙通訊檢測,若檢測失敗,則提示用戶進行藍牙開啟和設備連接,連接成功則等待用戶進行車票識別操作。車票識別主要通過車票字符識別和二維碼掃描兩種方式對旅客車票信息進行采集,車票識別成功能后,通過藍牙通訊方式將車票信息發送給列車員,車票識別APP軟件使用流程如圖2所示。
2.3 系統設計
2.3.1 車票二維碼掃描
2009年12月10日鐵道部將車票改版,使用QR碼作為新版車票的防偽標識,代替以往的一維條碼。二維碼識別的過程中,程序首先啟動攝像頭,然后通過圖形識別的方式掃描二維碼,并對二維碼圖像進行循環的解析識別,直到識別成功獲取二維碼數值,二維碼識別過程如圖3所示。
2.3.2 藍牙通訊
基于Android 系統平臺,供給藍牙開發所使用的網絡協議棧,容許設備間經過無線方式進行互換數據。藍牙技術方面依據Android系統所提供的藍牙API來實現。藍牙通訊采用藍牙的設置、搜索與連接藍牙設備、數據傳輸等幾個過程來實現。
程序代碼首先檢測安卓設備是否支持藍牙,若支持則開啟藍牙通訊模塊,然后掃描外部藍牙設備,檢測到藍牙通訊則進行藍牙配對連接,若連接成功則向外部藍牙設備發送數據,并顯示發送結果。在整個過程中若有一個環節不成功則即出藍牙通訊,藍牙通訊流程圖如圖4所示。
2.3.3 火車票字符識別
火車票字符識別是獲取旅客乘車信息的重要手段,為了能夠較準確和快速的識別火車票面的出發站、目的站、車次以及鋪位信息,首先要對原始圖像進行預處理,因此預處理起了非常重要的作用。預處理包括:圖像灰度處理、圖像二值化、中值濾波、圖像定位及校正等過程。
(1)火車票圖像灰度化。一般我們用手機采集的圖像都是彩色的,彩色圖像處理速度相對較慢并且所占的存儲空間也較大,因此我們將火車票周圍的彩色圖案進行灰度處理,這樣可以加快處理速度以及節省存儲空間[1]。灰度計算公式如式(1)所示:
gray=red×0.299+green×0.587+blue×0.114 (1)
(2)火車票圖像二值化。圖像的二值化處理就是將圖像上的點的灰度置為0或255,也就是將整個圖像呈現出明顯的黑白效果。通過某些算法得出一個閾值,將火車票圖象的灰度值限定在0和255。所有灰度大于或等于閾值的像素被判定為屬于特定物體,其灰度值為255表示,否則這些像素點被排除在物體區域以外,灰度值為0。要實現火車票圖像二值化,關鍵在于給定的閾值。根據不同的需求,選取閾值的方法也不同。通過研究得出采用雙閥值得出的火車票圖像邊緣清晰并且噪聲小。
(3)火車票圖像中值濾波。火車票二維碼經過灰度處理后雖然圖像亮度基本相同,但在采集的過程中經常會遇到各種噪聲的干擾,這就需要進行消噪,提高條碼的準確度。采用中值濾波的方式,將局部區域的像素按灰度等級進行排序,取該領域中灰度的中值作為當前像素的灰度值。
(4)火車票定位。火車票的右下方有一個二維碼圖形,可以通過它的特征,即3個角的位置對車票進行定位。車票在正面放置時,從右上角開始,按照逆時針方向順次記錄二維碼3個正方形角點中心點坐標分別為為{C1(x,y),C2(x,y),C3(x,y)}[3]。這三個閉合的正方形角點都存在特殊的識別特征,從中提取 2 個最重要的特征來進行定位,特征如下:
C1(x,y)和C2(x,y)的距離等于C2(x,y)和C3(x,y)的距離,由式(2)表示:
(2)
(5)火車票校正。車票在實際的識別過程中,由于乘客擺放的任意性,所獲取的車票字符圖像往往具有一定的傾斜角度,在這種情況下,車票的識別率大大降低,所以首先就需要對火車票QR碼進行校正。這就需要三個步驟:第一步將車票最大連通區域的邊緣圖做閉運算來凸顯輪廓;第二步利用Hough變換檢測邊界線;第三步運用控制點之間的幾何變換實現QR碼校正[4]。
2.4 車票解碼
通過解碼器,將采集到的QR碼信息按照國標GB/T 18284-2000《快速響應矩陣碼》技術標準進行解碼,可以得到車票的數據信息[2]。
3 結語
本文通過實現二維碼和火車票字符識別的方式采集旅客乘車信息,構建了基于ANDROID 臥鋪車廂車票識別APP系統,使臥鋪車廂乘客乘車更加方便快捷并且提高了乘務員的工作效率。
參考文獻
[1]徐玲,蔣欣志,張杰.手機二維碼識別系統的設計與實現[J].計算機應用,2012,32(05):1474-1476.
[2]董強.QR碼識別技術及在手機中的應用[D].青島大學,2006.
[3]薛圣利,蔡啟仲,楊海林,徐曉宇.基于OpenCV的火車票識別算法[J].廣西科技大學學報,2016,27(02):46-51.
[4]耿興龍.基于移動智能平臺的車載車票驗票終端的研究[D].北方工業大學,2015.endprint