董志強,李榮書,胡桂青
(威海拙誠燃氣安全設備有限公司,山東威海264209)
淺談膜式燃氣表的數(shù)字識別方法
董志強,李榮書,胡桂青
(威海拙誠燃氣安全設備有限公司,山東威海264209)
基于數(shù)字識別模塊的直讀燃氣表,其直讀設計是在不改變原有燃氣表結構的前提下加裝數(shù)字識別模塊來實現(xiàn)對燃氣表的抄表。該直讀模塊采用特征比較的數(shù)字識別方法,對0~9這10個數(shù)字進行識別,總體識別率可以達到99%以上。此方法具有識別算法簡單、識別速度快、容易實現(xiàn)且識別效果好的優(yōu)點。
膜式燃氣表;數(shù)字識別模塊;特征提??;識別率
近年來,隨著西氣東輸工程的建成投產(chǎn)及燃氣普及率的不斷提高,燃氣逐漸成為人們生活不可缺少的資源。目前,國內(nèi)普遍使用的仍為機械式膜式燃氣表,其抄表收費方式還是入戶抄表,不僅人工成本較高,而且工作效率低下;數(shù)據(jù)實時性較差,不能夠及時反映用戶使用燃氣量的變化,因此每月抄表的數(shù)據(jù)統(tǒng)計遠遠不能滿足公司深層次的分析和決策要求。
基于此種情況,我公司研發(fā)了直讀燃氣表,在普通膜式燃氣表的外部加裝數(shù)字識別模塊,在不改變原有燃氣表結構的前提下實現(xiàn)對燃氣表的抄表。主要設計思路如下:在現(xiàn)有的燃氣表上安裝數(shù)字識別模塊對燃氣表的字輪進行圖像采集與識別,然后將數(shù)據(jù)傳輸?shù)浇K端管理系統(tǒng),實現(xiàn)燃氣表自動抄表和燃氣公司用氣管理的功能,有效避免了對原有燃氣表的機械改造。目前,隨著人們對圖像識別方法的不斷研究,數(shù)字識別方法的種類也越來越多,例如基于最小距離法的數(shù)字圖像識別[1]、基于穿線法的數(shù)字圖像識別[2]、基于模板匹配的數(shù)字圖像識別[3]等。本文主要采用特征提取的方法將0~9這10個不同數(shù)字分別識別出來,并對逐漸縮小范圍中的數(shù)字特征進行分析,算法簡單、識別效率高、識別效果好。
數(shù)字識別模塊的主要功能是對燃氣表的數(shù)字圖像進行采集、識別和遠程傳輸,硬件組成如圖1所示。電源模塊提供3.3 V和1.8 V電壓,為降低功耗,電路大部分時間處于休眠狀態(tài),定時對燃氣表的圖像進行采集和發(fā)送。攝像頭模組采用30萬像素的CMOS微型攝像頭,并通過圖像傳感器將其轉換成數(shù)字信號,傳送到單片機,圖像識別算法將字輪圖片信息轉換成數(shù)字流量信息。為了達到光線統(tǒng)一的目的,需要將攝像頭部分放置在全黑的環(huán)境,利用LED補光燈對圖像進行補光處理。通過Lora與集中器進行數(shù)據(jù)通信,將采集到的流量信息通過集中器發(fā)送給服務器,實現(xiàn)數(shù)據(jù)遠程抄讀功能。圖像采集模塊的組成如圖1所示。
圖1 圖像采集模塊組成圖
數(shù)字識別算法部分由數(shù)據(jù)采集處理、圖像識別算法2部分組成。其組成部分如圖2所示。
圖2 數(shù)字識別算法
數(shù)據(jù)采集的圖片如圖3所示,圖3(a)為采集的原始數(shù)據(jù)圖片,(b)為處理后的圖片,具體的步驟如下:①有效圖像采集。通過圖像傳感器進行有效圖像采集,并保存為RGB565格式。②對圖像進行二值化處理[4-6]。此過程是圖像預處理中的一個重要環(huán)節(jié),目的是將目標數(shù)字和背景分離,以便對數(shù)字進行分割和識別。③對圖像進行濾波操作。主要是濾除屬于雜波的圖像數(shù)據(jù),對雜波進行濾除(清零處理)。④尋找數(shù)字邊界。在整幅圖像數(shù)據(jù)中,找到每個數(shù)字的邊界。找到數(shù)字的4個邊界后,根據(jù)上、下邊界計算這個數(shù)字的高度。如果該高度小于設置的整個數(shù)字的高度,則該字為半字;否則,為整字。
圖3 圖像處理結果
圖像識別算法主要是對采集取得的數(shù)據(jù)來進行半字識別或者全字識別,通過數(shù)字特征來識別每個數(shù)字,其特征識別方法主要有數(shù)字寬度、特殊位置、長條位置、豎條位置及斜條位置。數(shù)字識別算法如圖4所示。
2.2.1 全字識別
全字識別步驟如下:
步驟1:采用數(shù)字寬度的識別方式,若整個字的寬度小于或等于設定的像素X,則可以判斷數(shù)字為“1”;否則,執(zhí)行步驟2.
步驟2:采用特殊位置的識別方式,若數(shù)字底部有效像素部分寬度較窄,則可判斷為數(shù)字“4”“7”,并執(zhí)行步驟3;否則,執(zhí)行步驟4.
步驟3:采用長條位置的識別方式,若從數(shù)字下邊界往上找Y行有一長條,則識別出該數(shù)字為“4”;否則,該數(shù)字為“7”。
步驟4:采用豎條位置的識別方式,若在靠近左邊框位置有一個高的豎條,則識別出數(shù)字為“0”或“6”或“8”,執(zhí)行步驟5;否則,執(zhí)行步驟7.
步驟5:根據(jù)豎條位置,若在靠近數(shù)字的右邊界位置有一個高的豎條,則該數(shù)字為“0”或“8”,并執(zhí)行步驟6,否則,該數(shù)字為“6”。
圖4 數(shù)字識別算法
步驟6:根據(jù)豎條位置,若在數(shù)字的中間位置有一個長的橫條,則該數(shù)字為“8”;否則,該數(shù)字為“0”。
步驟7:根據(jù)豎條位置,若靠近數(shù)字的右邊邊界位置有一個高的豎條,則該數(shù)字為“3”或者“9”,并執(zhí)行步驟8;否則,執(zhí)行步驟9.
步驟8:根據(jù)豎條位置,若在數(shù)字的中間位置有一個長的橫條則該數(shù)字為“9”;否則,為數(shù)字“3”。
步驟9:根據(jù)豎條位置,若在數(shù)字的中間靠上位置有一個長的橫條,則該數(shù)字為“5”;否則,該數(shù)字為“2”。
通過上面步驟1~9完成整字識別。
2.2.2 半字識別
半字識別步驟如下:
步驟1:數(shù)字“1”“4”“7”的半字識別步驟與整字識別相同,見整字識別步驟1~3.
步驟2:根據(jù)斜條位置,若最底部為一個長橫,且往上從長橫的左邊有一個傾斜長條,則可判斷為數(shù)字2;否則,執(zhí)行步驟3.
步驟3:若數(shù)字中間空白部分的高度要比其他數(shù)字高很多,則可判斷為數(shù)字“0”;否則,執(zhí)行步驟4.
步驟4:若數(shù)字的下半部分是一個封閉的圈,則可判斷為數(shù)字“6”或“8”,并執(zhí)行步驟5;否則,執(zhí)行步驟6.
步驟5:若封閉圈的右上部分存在有效像素,則可判斷為“8”;否則,為數(shù)字“6”。
步驟6:若數(shù)字上下長橫的縱坐標差值大于設定值Z,則該數(shù)字為“3”;否則,為“5”或者“9”,并執(zhí)行步驟7.
步驟7:若數(shù)字第二個長橫上面一行的靠右邊存在有效像素,則為數(shù)字“9”;否則,為數(shù)字“5”。
通過上面步驟1~7完成半字識別。
通過此種特征信息提取方式對0~9這10組數(shù)據(jù)進行數(shù)字識別,不論是半字,還是全字,每一個數(shù)字分別進行100次識別,實驗結果如表1所示。由上述結果可知,數(shù)字“0”“1”“2”“4”“7”本身結構簡單,容易識別,識別率可達到100%;對于“6”“8”的識別,雖然結構比較復雜,但是特征明顯,只需要區(qū)別右上部分有效像素即可,因此識別錯誤次數(shù)較少。“3”“5”“9”則因為特征相似點較多,當出現(xiàn)半字時判斷誤差較大??傊?,總體識別結果來看,此類特征識別方法其總體識別率為99.6%,基本接近100%.
燃氣直讀表頭是一種利用攝像頭對燃氣表字輪進行圖像采集、識別、遠傳的攝像直讀式無線抄表器。燃氣直讀表頭對于目前的舊式燃氣表改造,實現(xiàn)全自動化抄表,它不需要改變現(xiàn)有的燃氣表,用戶無需換表即可實現(xiàn)抄表。本論文所提出的方法對數(shù)字圖像的總體識別率可以達到99%以上。此方法具有識別算法簡單、識別速度快、識別效果好的特點。
表1 圖像識別統(tǒng)計表
[1]王朋,王剛,竇海妮.基于最小距離法的數(shù)字識別[J].廣西輕工業(yè),2010(148):74.
[2]魏暢然.基于穿線法的數(shù)字識別方法[J].科技情報開發(fā)與經(jīng)濟,2010,20(28):137.
[3]劉洋洋,嵇啟春.一種改進的模板匹配的數(shù)字識別算法[J].工業(yè)控制計算機,2010,23(5):76.
[4]楊偉偉,王廣偉.儀表圖像二值化技術研究[J].科技信息,2011(17):62.
[5]孫少林,馬志強,湯偉.灰度圖像二值化算法研究[J].價值信息,2010(5):142.
[6]馮玉田,刁志蕙,李元輝,等.基于圖像的遠程燃氣表直讀系統(tǒng)研究與實現(xiàn)[J].電子測量技術,2016,39(6):76.
〔編輯:劉曉芳〕
TP391.41
A
10.15913/j.cnki.kjycx.2017.19.037
2095-6835(2017)19-0037-03