国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Cortex-A8的攝像直讀抄表裝置的設(shè)計

2019-07-25 01:44武永華許志杰張淑城
物聯(lián)網(wǎng)技術(shù) 2019年4期
關(guān)鍵詞:識別率串口

武永華 許志杰 張淑城

摘 要:針對抄表系統(tǒng)中水表表盤讀數(shù)不準(zhǔn)的問題,設(shè)計基于Cortex-A8的攝像直讀遠(yuǎn)傳抄表裝置。該裝置通過四路USB攝像模塊對表盤進(jìn)行攝像,利用Linux的V4L2對圖像進(jìn)行采集,OpenCV 完成對圖像的預(yù)處理、SVM 完成對數(shù)字的識別,裝置最終通過串口RS 232輸出表盤數(shù)字提供給后端。通過對裝置的應(yīng)用表明,圖像識別率較高,設(shè)備運行穩(wěn)定。

關(guān)鍵詞:攝像直讀;V4L2;OpenCV;串口;識別率;Cortex-A8

中圖分類號:TP274文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2019)04-00-05

0 引 言

隨著物聯(lián)網(wǎng)技術(shù)、電子技術(shù)、通信技術(shù)的發(fā)展,各式各樣的新型遠(yuǎn)傳抄表系統(tǒng)涌現(xiàn)。目前我國的水表抄收方式主要有傳統(tǒng)的人工抄表方式、現(xiàn)場自動抄表、預(yù)付費抄表、遠(yuǎn)程有線抄表、遠(yuǎn)程無線自動抄表。自動抄表是利用物聯(lián)網(wǎng)技術(shù)處理表具數(shù)據(jù),將采集到的水表字輪數(shù)據(jù)發(fā)送至服務(wù)器,進(jìn)行后續(xù)用戶水費計算和其他大數(shù)據(jù)分析。從技術(shù)層面來分,水表抄表技術(shù)包括水表計數(shù)方式和水表數(shù)據(jù)遠(yuǎn)傳方式。水表計數(shù)方式主要有脈沖式遠(yuǎn)傳水表[1]和直讀式遠(yuǎn)傳水表[2],而直讀式遠(yuǎn)傳水表又細(xì)分為光電直讀式遠(yuǎn)傳水表、攝像直讀遠(yuǎn)傳水表、厚膜電阻式遠(yuǎn)傳水表。從水表讀數(shù)傳輸方式又可分為電力載波[3]、CATV網(wǎng)絡(luò)遠(yuǎn)程傳輸[4]、GSM/GPRS網(wǎng)絡(luò)無線傳輸[5]。目前實現(xiàn)遠(yuǎn)程抄表系統(tǒng)的基表大部分是改造現(xiàn)有水表,通過脈沖計數(shù)技術(shù)實現(xiàn)計量,因而容易受到磁干擾,可靠性低,數(shù)據(jù)有誤之后的維護(hù)工作量大。針對目前抄表裝置的優(yōu)缺點,本文裝置在原有水表的基礎(chǔ)上設(shè)計一種圖像處理技術(shù)和嵌入式技術(shù)相結(jié)合的攝像直讀抄表裝置,所使用的硬件以TI-AM3352[6]為核心,Crotex-A8架構(gòu),軟件采用Linux操作系統(tǒng)和ARM-Linux平臺,利用V4L2[7]完成對表盤圖像的采集,OpenCV[8]完成對圖像的處理,SVM[9]完成對數(shù)字的識別。針對該抄表方法中對圖像某區(qū)域示數(shù)的識別問題,采用可靠的識別方式,即使用攝像頭拍攝水表表盤后生成圖片,然后根據(jù)表盤中的示數(shù)位置,對表盤區(qū)域進(jìn)行分割,接著將圖片進(jìn)行JPG壓縮后識別圖片中的示數(shù),最后將這個示數(shù)通過串口顯示在終端上。

1 攝像直讀抄表裝置硬件原理

基于AM3352微處理器的嵌入式攝像直讀遠(yuǎn)程抄表系統(tǒng)將攝像頭固定安裝在儀表上的某個位置,當(dāng)需要進(jìn)行抄表時,通過RS 232獲得命令,由AM3352微處理器控制USB模塊選擇對應(yīng)的攝像頭開啟并進(jìn)行水表攝像。當(dāng)任務(wù)完成后,AM3352數(shù)據(jù)采集設(shè)備再次關(guān)機。此系統(tǒng)可以提供可靠的表盤度數(shù),與儀表的脈沖傳感器結(jié)合使用可以有效避免采集誤差,簡化人工校正過程,使得抄表過程更加可視化。本文裝置主要包括電源模塊、RS 232串口、AM3352核心模塊、USB模塊四部分。攝像直讀抄表裝置結(jié)構(gòu)如圖1所示。

2 攝像直讀抄表裝置硬件設(shè)計

本文裝置的電源模塊輸入DC 9~24 V,電源模塊主要通過MP1471和MP1498兩個降壓芯片,設(shè)計輸出電壓為

3.3 V,電路原理圖如圖2所示。

RS 232串口模塊主要完成電平轉(zhuǎn)化,采用的主芯片為SP3232,電路原理圖如圖3所示。

USB模塊主要完成四路USB攝像頭選擇一路的功能。所用主芯片為USB2514B,初始化的設(shè)定通過I2C完成。電路原理圖如圖4所示。

AM3352核心模塊主要完成四路USB水表圖像的采集、預(yù)處理以及表盤數(shù)字的識別。其中AM3352微處理運行Linux操作系統(tǒng)和OpenCV,電路方框圖如圖5所示。

3 圖像采集和預(yù)處理

3.1 V4L2編程與圖像采集

V4L2是嵌入式Linux系統(tǒng)中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動,主要用來采集圖片,對視頻、音頻進(jìn)行相關(guān)操作等,因此V4L2提供了一系列的接口函數(shù),用于視頻捕捉、采集圖片等視頻設(shè)備的應(yīng)用。視頻設(shè)備采集流程如圖6所示。

3.1.1 獲取攝像頭參數(shù)

Linux系統(tǒng)中提供ioctl()函數(shù)以及相關(guān)參數(shù)獲取所使用的USB攝像頭基本信息和支持的采集格式。其獲取的參數(shù)信息有采集設(shè)備、支持流操作、支持的像素格式等。

3.1.2 設(shè)置攝像頭參數(shù)

攝像頭像素格式設(shè)置為YUYV422,圖像分辨率設(shè)置為240×320,使用參數(shù)VIDIOC_S_FMT設(shè)置攝像頭參數(shù)。

3.1.3 攝像頭圖像采集

攝像頭設(shè)備初始化后就進(jìn)行圖片采集。通過參數(shù)VIDIOC_REQBUFS和結(jié)構(gòu)體v4l2_requesbuffers申請緩存,接著通過內(nèi)存映射將緩存信息映射到用戶空間,之后將數(shù)據(jù)寫入文件生成原始圖片。

3.1.4 圖片格式轉(zhuǎn)換

生成的原始圖片為YUYV422,為了方便處理圖像,需要先將其轉(zhuǎn)換為RGB888格式后再轉(zhuǎn)成壓縮JPG格式圖片。

3.1.5 關(guān)閉攝像頭設(shè)備

為了較好地管理內(nèi)存,防止出現(xiàn)系統(tǒng)崩潰的現(xiàn)象,停止圖像采集后,要對內(nèi)存進(jìn)行回收。停止采集后通過參數(shù) VIDIOC_STREAMOFF調(diào)用 close()函數(shù)關(guān)閉攝像頭設(shè)備文件。

3.2 OpenCV處理圖像

采集到的圖像如圖7所示,使用OpenCV開源計算機視覺庫對圖像進(jìn)行相關(guān)處理。

3.2.1 圖像灰度化

一般對圖像進(jìn)行灰度化處理的方法有分量法、加權(quán)平均法等。本文裝置采用加權(quán)平均法對圖像進(jìn)行灰度化處理,因此使用OpenCV庫中的cvtColor()函數(shù)對采集到的圖像進(jìn)行灰度化處理,處理后的圖像如圖8所示。

3.2.2 圖像去燥

圖像去噪即為減少圖像中的噪聲干擾。常用的圖像去噪方法有均值濾波、中值濾波、高斯濾波等。通過使用相關(guān)函數(shù)對灰度化處理后的圖像進(jìn)行三種濾波處理,無法很直觀地看出哪種濾波效果更好,但是經(jīng)過三種濾波處理后的圖像再經(jīng)過二值化的處理,發(fā)現(xiàn)采用高斯濾波后的圖像二值化處理效果更好,因此本文采用高斯濾波的方法,使用OpenCV庫中的GaussianBlur()函數(shù)對灰度化處理好的圖像進(jìn)行高斯濾波處理,處理后的圖像如圖9所示。

3.2.3 圖像二值化

圖像經(jīng)過灰度化和二值化處理后,只剩下黑色和白色,即黑白效果,因為數(shù)據(jù)量降低了,所以后續(xù)在對圖像進(jìn)行處理時,計算量已經(jīng)沒有之前那么大了。一般對圖像進(jìn)行二值化的方法有全局閾值法、局部閾值法。為了降低算法復(fù)雜度,便于后續(xù)輪廓提取處理,采用固定閾值處理,并加入反色處理,因此在本文設(shè)計中使用OpenCV庫中的threshold()函數(shù)對高斯濾波去噪后的圖像進(jìn)行二值化處理,處理后的圖像如圖10所示。

3.2.4 圖像腐蝕和膨脹

腐蝕即通過自定義的結(jié)構(gòu)元素掃描全圖像像素,并進(jìn)行與運算,目的是對二值化處理后圖像中的某些邊界點進(jìn)行消除。膨脹的目的則是對二值化處理后圖像中的某些邊界進(jìn)行擴張,即空洞填補,并進(jìn)行或運算。為了使表盤區(qū)域在圖像中顯得更加突出,以及便于對圖像外輪廓進(jìn)行提取處理,對其進(jìn)行腐蝕和膨脹處理,使用OpenCV庫中的dilate()函數(shù)和erode()函數(shù)對二值化后的圖像進(jìn)行腐蝕和膨脹處理,處理后的圖像如圖11、圖12所示。

3.2.5 圖像輪廓

在圖像識別過程中,查找輪廓是識別區(qū)域的前提,先對整個圖像查找所有外部的輪廓并畫出,再進(jìn)行圖像分割,這時也就能得到所要識別的區(qū)域了。使用OpenCV查找輪廓的方法有多種,一般步驟是:灰度化-二值化-腐蝕-膨脹-形態(tài)學(xué)處理-查找輪廓-繪制輪廓-顯示處理好的圖像。為了后續(xù)示數(shù)區(qū)域的準(zhǔn)確分割,本文設(shè)計使用OpenCV庫中的findContours()函數(shù)進(jìn)行外輪廓的查找。輪廓查找之后的圖像如圖13所示。

3.2.6 圖像分割

圖像分割通常結(jié)合查找圖像輪廓使用。對于本文設(shè)計來說,只關(guān)心所要識別的區(qū)域,將其余區(qū)域舍去,因此為了能夠?qū)⒏信d趣的區(qū)域分割出來(即示數(shù)區(qū)域),在圖像外輪廓查找和繪制后,圖像中出現(xiàn)一些紅色的區(qū)域,之后對其進(jìn)行面積判斷,最終得到想要的區(qū)域,之后才能對其進(jìn)行數(shù)字識別。圖像分割處理后的結(jié)果如圖14所示。

4 表盤字輪讀數(shù)識別

4.1 數(shù)字識別概述

數(shù)字識別包含在模式識別領(lǐng)域中,其結(jié)果是將某些物體上的數(shù)字進(jìn)行識別,識別方法有多種,如結(jié)構(gòu)特征識別法、模板匹配識別法、神經(jīng)網(wǎng)絡(luò)識別法。這些識別算法各有優(yōu)缺點,選擇具體的算法時主要考慮計算復(fù)雜度、算法成功識別率、硬件平臺匹配性。本文設(shè)計采用機器學(xué)習(xí)+向量機(SVM)的方法實現(xiàn)數(shù)字識別,然后通過文件操作將結(jié)果保存并顯示在遠(yuǎn)程終端上。

4.2 數(shù)字識別

支持向量機能夠解決一些模式識別中的問題。SVM是對機器進(jìn)行訓(xùn)練的一種方法,效果較好,可以應(yīng)用于分類數(shù)據(jù)。本文設(shè)計使用SVM分類器對數(shù)據(jù)進(jìn)行訓(xùn)練,生成XML文件,通過SVM分類器對XML文件進(jìn)行讀取,進(jìn)而識別圖像中的數(shù)字。

通過攝像頭采集水表圖像,使用JPEG庫中的壓縮算法生成JEP格式的圖片,然后對此圖片進(jìn)行灰度化、高斯去噪、二值化、腐蝕、膨脹處理,接著查找圖像的外輪廓并繪制出來,圖像中會出現(xiàn)一些紅色矩形區(qū)域,對這些區(qū)域進(jìn)行面積判斷,找到示數(shù)區(qū)域?qū)?yīng)的紅色矩形區(qū)域,保存這個紅色矩形區(qū)域的4個頂點坐標(biāo),之后通過這幾個坐標(biāo)將示數(shù)區(qū)域分割出來,并對其進(jìn)行矯正,就得到所要的區(qū)域。接著將其保存,識別數(shù)字。識別數(shù)字的過程中要先將先前使用分類器訓(xùn)練好的數(shù)據(jù)保存為XML格式的文件進(jìn)行加載,后進(jìn)行數(shù)字區(qū)域的分離,將每個數(shù)字所在的位置區(qū)域分出來,保存后進(jìn)行灰度化處理,調(diào)整圖片大小,改變矩陣的行列數(shù)、通道數(shù),進(jìn)行矩陣數(shù)據(jù)類型轉(zhuǎn)換,識別數(shù)字。識別過程中如果碰到數(shù)字不全的情況,將數(shù)字不全的都以0處理。識別完成之后,將識別的結(jié)果在遠(yuǎn)程終端上顯示出來,同時通過文件操作函數(shù)保存結(jié)果并生成txt文件。總體識別流程如圖15所示,識別結(jié)果如圖16所示。

5 結(jié) 語

本文將嵌入式系統(tǒng)和圖像處理技術(shù)相結(jié)合,并且在Ti-AM3352開發(fā)板上實現(xiàn)攝像直讀水表的讀數(shù)識別。在拍攝圖片中,采用V4L2編程進(jìn)行攝像頭的相關(guān)操作,使用JPEG庫對圖片進(jìn)行轉(zhuǎn)換,完成圖像采集。在圖像處理過程中,利用OpenCV開源代碼和SVM把數(shù)字識別出來、顯示,并保存在文本中。測試結(jié)果表明,該系統(tǒng)保證了系統(tǒng)的可靠性和可擴展性,系統(tǒng)工作穩(wěn)定,硬件成本低,施工簡單,抄表成功率99%以上,具有廣闊的市場和應(yīng)用前景。

參 考 文 獻(xiàn)

[1]張興華.基于圖像識別的智能抄表系統(tǒng)研究與實現(xiàn)[D]. 哈爾濱:哈爾濱理工大學(xué),2012.

[2]陳澤.基于ARM-Linux控制器的小區(qū)智能家居管理系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:華北電力大學(xué),2017.

[3]徐偉,王斌,姜元建.低壓電力線載波通信技術(shù)在用電信息采集系統(tǒng)中的應(yīng)用[J].電測與儀表,2010(2):57-59.

[4]張亞彬.同軸電纜特性及在CATV信號傳輸中的應(yīng)用[J].中國新技術(shù)新產(chǎn)品,2009(3):19-20.

[5]任亞軍,趙明,朱文革,等.基于GPRS的水表遠(yuǎn)程抄表系統(tǒng)設(shè)計[J].儀器儀表用戶,2015,22(2):7-9.

[6]程昌南.ARM Cortex-A8硬件設(shè)計DIY[M].北京:北京航空航天大學(xué)出版社,2012.

[7]甘勤操,陳西曲.基于V4L2的嵌入式視頻監(jiān)控系統(tǒng)的研究[J].武漢輕工業(yè)大學(xué)學(xué)報,2014,33(1):61-64.

[8]孟祥興,宋宇飛,顧橋磊.基于OpenCV和嵌入式的工業(yè)圖像檢測系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2018,8(10):106-107.

[9]李良榮,榮耀祖,顧平,等.基于SVM的車牌識別技術(shù)研究[J].貴州大學(xué)學(xué)報,2018,35(5):48-53.

[10]甘英俊,胡天翔,沈海濤,等.基于機器視覺的汽車牌照識別[J].機械制造與自動化,2009(2):97-101.

猜你喜歡
識別率串口
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
基于類圖像處理與向量化的大數(shù)據(jù)腳本攻擊智能檢測
基于真耳分析的助聽器配戴者言語可懂度指數(shù)與言語識別率的關(guān)系
提升高速公路MTC二次抓拍車牌識別率方案研究
高速公路機電日常維護(hù)中車牌識別率分析系統(tǒng)的應(yīng)用
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機與AutoCAD的實時無線通信
基于并行控制的FPGA多串口拓展實現(xiàn)
郸城县| 宕昌县| 乌兰浩特市| 柞水县| 邻水| 华安县| 禄丰县| 铜山县| 绩溪县| 金堂县| 静乐县| 调兵山市| 尼勒克县| 莱州市| 巧家县| 阿坝县| 泸州市| 临桂县| 宜川县| 囊谦县| 中卫市| 西安市| 阆中市| 赣州市| 方正县| 特克斯县| 罗甸县| 周宁县| 蒙自县| 弋阳县| 新营市| 永新县| 南雄市| 新和县| 图片| 突泉县| 平江县| 海晏县| 旺苍县| 连州市| 庄河市|