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

?

基于改進(jìn)穿線法和KNN 的數(shù)碼管字符識(shí)別研究

2024-02-27 04:42:56劉祎爽黃理瑞魏敏捷
電子設(shè)計(jì)工程 2024年4期
關(guān)鍵詞:分割線穿線字符識(shí)別

劉祎爽,黃理瑞,魏敏捷

(1.上海電力大學(xué) 電子與信息工程學(xué)院,上海 200135;2.光力科技股份有限公司,河南鄭州 450001;3.上海電力大學(xué) 電氣工程學(xué)院,上海 200135)

數(shù)顯式儀表顯示界面可以通過(guò)七段數(shù)碼管字符來(lái)傳達(dá)信息[1]。在部分核電站、井下環(huán)境中,其儀表設(shè)備老舊,無(wú)通信接口,工作人員在該環(huán)境下采集數(shù)據(jù)時(shí),可能會(huì)面臨突發(fā)的危險(xiǎn)狀況[2-3]。而利用攝像頭采集圖像,并傳輸?shù)缴衔粰C(jī)處理,可以避開(kāi)人身危險(xiǎn)且利于獲取實(shí)時(shí)數(shù)據(jù)[4-5]。在現(xiàn)階段的研究中,基于傳統(tǒng)穿線法和SVM+HOG 法識(shí)別數(shù)碼管字符,效果良好但未考慮識(shí)別小數(shù)點(diǎn)[6-7]。模板匹配法耗費(fèi)時(shí)間較長(zhǎng)[8]。采用神經(jīng)網(wǎng)絡(luò)方法效果良好,但算法復(fù)雜且需要先驗(yàn)知識(shí)確定隱含層神經(jīng)元數(shù)[9]。采用投影法進(jìn)行識(shí)別時(shí),因數(shù)碼管種類多樣,移植性不強(qiáng)[10]。利用LSSVM 對(duì)數(shù)碼管字符進(jìn)行讀數(shù),識(shí)別率較高但處理過(guò)程較復(fù)雜[11]。

針對(duì)以上問(wèn)題,文中融合了改進(jìn)穿線法與KNN算法,能夠識(shí)別多種數(shù)碼管的字符及小數(shù)點(diǎn)。該識(shí)別算法簡(jiǎn)單、速度快。實(shí)驗(yàn)結(jié)果表明,實(shí)現(xiàn)了可實(shí)際應(yīng)用的效果。

1 圖像預(yù)處理

圖像預(yù)處理的目的是通過(guò)一系列的處理后,得到清晰完整的單個(gè)二值化數(shù)碼管字符圖像。圖像預(yù)處理流程如圖1 所示。

圖1 圖像預(yù)處理流程

1.1 圖像灰度化

灰度化是指將采集到的R、G、B 三通道的彩色圖像變?yōu)閱瓮ǖ缊D像的過(guò)程。通過(guò)灰度化以減少圖像的大小,加快處理速度。常用的灰度化方法有如式(1)所示的分量法、如式(2)所示的最大值法和如式(3)所示的平均值法。通過(guò)ImageWatch 查看不同環(huán)境下數(shù)碼管發(fā)光時(shí),紅色通道的值比較高,因此采用加權(quán)平均值法,如式(4)所示,得到合理的灰度圖,如圖2 所示。

圖2 圖像灰度化

1.2 圖像濾波

在圖像的成像與傳輸過(guò)程中,會(huì)產(chǎn)生高斯、椒鹽噪聲的干擾[12]。在目標(biāo)點(diǎn)3×3 的區(qū)域采用中值濾波的方法,使得圖像中孤立的噪聲點(diǎn)被其鄰域內(nèi)灰度值的中值所取代,同時(shí)還能保留圖像的邊緣細(xì)節(jié)。

1.3 水平校正

由于攝像頭與被測(cè)儀器擺放角度的差異,采集到的圖像存在傾斜的情形。通過(guò)采用Hough 直線檢測(cè),得到如圖3(a)所示的直線段,其中僅保留角度為0~30°之間的直線段,之后通過(guò)圖像仿射變換對(duì)圖像進(jìn)行旋轉(zhuǎn)操作,旋轉(zhuǎn)角度為上述直線段角度的平均值,如式(5)所示,αˉ為所有直線與水平線的平均夾角,αi為當(dāng)前直線與水平線的夾角,n為上述直線段的數(shù)量。式(6)中[uv1]和[xy1]為仿射變換的前后的向量,將旋轉(zhuǎn)后的空缺使用黑色填充,如圖3(b)所示。

圖3 水平校正

1.4 二值化

二值化指將上述灰度化后的圖像轉(zhuǎn)換為只有0和255 兩種灰度值的圖像處理方法。二值化過(guò)程中恰當(dāng)?shù)拈撝导饶鼙A裟繕?biāo)區(qū)域的完整又能把背景區(qū)域屏蔽,通過(guò)選取大津閾值法(OTSU 算法)[13-14]對(duì)圖像進(jìn)行二值化操作,如圖4 所示。

圖4 二值化圖像

1.5 邊緣檢測(cè)

圖像的行x和列y的像素點(diǎn)灰度值為f(x,y),圖像的邊緣是指圖像的灰度值導(dǎo)數(shù)f′(x,y)突然變大的部分。常見(jiàn)的邊緣提取算子中,Sobel 算子對(duì)圖像較弱的邊緣提取效果較差,Robert算子受圖像噪聲的干擾較大,Canny 算子能夠識(shí)別圖像中的強(qiáng)邊緣與弱邊緣,并且不容易受到噪聲的影響[15]。通過(guò)Canny 算子對(duì)圖像進(jìn)行邊緣檢測(cè),之后進(jìn)行形態(tài)學(xué)操作將數(shù)碼管字符相互連接,標(biāo)記顯示區(qū)域中面積最大的最小外接矩形,進(jìn)而定位數(shù)碼管字符所在區(qū)域,如圖5 所示。

圖5 邊緣檢測(cè)

1.6 形態(tài)學(xué)處理

將上述標(biāo)記的矩形以外區(qū)域的像素值置0,以消除還可能存在的微小連通域的影響。經(jīng)過(guò)實(shí)驗(yàn),對(duì)剪裁后的二值化圖像采取5×3 的卷積核開(kāi)運(yùn)算方法,可以將數(shù)碼管的段與段連接在一起,同時(shí)有效減少非字符連通域的影響,如圖6 所示。

圖6 字符定位及形態(tài)學(xué)處理

1.7 字符分割

圖像預(yù)處理的最后一步是對(duì)數(shù)碼管字符進(jìn)行分割。投影法是將數(shù)碼管字符進(jìn)行垂直方向投影與水平方向的投影,記錄白色像素的數(shù)量。投影后會(huì)出現(xiàn)多個(gè)波峰與波谷,以此判斷字符位置,如圖7所示。

圖7 投影直方圖

為了消除存在的噪點(diǎn)的影響,設(shè)置一定的閾值:當(dāng)垂直投影中每個(gè)波的白色像素個(gè)數(shù)達(dá)到此閾值時(shí),才會(huì)將此波的位置記錄為單個(gè)數(shù)碼管字符的左右邊界。通過(guò)ImageWatch 證實(shí),當(dāng)水平投影中波的白色像素?cái)?shù)量大于70 時(shí),即可認(rèn)為該波為數(shù)碼管字符的上下邊界,分割后的字符如圖8 所示。

圖8 分割字符

2 字符識(shí)別

2.1 穿線法

七段數(shù)碼管的每段都相等,橫向與豎向數(shù)碼管分別互相平行,根據(jù)數(shù)碼管的這一特點(diǎn),傳統(tǒng)的三線穿線法用分割線進(jìn)行穿線,如圖9 所示。通過(guò)判斷經(jīng)字符分割處理后的每段數(shù)碼管與a、b、d分割線相交處的255 像素值數(shù)量,來(lái)確定被點(diǎn)亮的數(shù)碼管段,進(jìn)而識(shí)別出數(shù)碼管字符。根據(jù)數(shù)字1 的特點(diǎn),只需要判別該區(qū)域的寬高比即可。但傳統(tǒng)的利用三線穿線法無(wú)法進(jìn)行小數(shù)點(diǎn)的識(shí)別。

圖9 傳統(tǒng)穿線法示意圖

2.2 改進(jìn)的五線穿線法

針對(duì)傳統(tǒng)的三線法所存在的問(wèn)題,在三線穿線的基礎(chǔ)上提出了五線穿線法,如圖10 所示。

圖10 五線穿線法示意圖

在接近數(shù)碼管最右側(cè)和底部的位置增加兩條線,來(lái)判斷數(shù)碼管是否傾斜及存在小數(shù)點(diǎn)。分割線e與a、b至少有一個(gè)相交處有值為255 的像素點(diǎn),則為水平數(shù)碼管,反之為傾斜數(shù)碼管。

對(duì)小數(shù)點(diǎn)的識(shí)別部分,在判斷數(shù)碼管是否傾斜后的基礎(chǔ)上,分為以下兩種情形:

1)對(duì)于水平數(shù)碼管,小數(shù)點(diǎn)被單獨(dú)分割出來(lái),通過(guò)判別字符分割后的二值化圖像寬高比大小和分割線a上的灰度值為255 的像素點(diǎn)數(shù)量,有下述三種情況:

①若寬高比小于0.35,且分割線a上有255 像素點(diǎn)時(shí),圖像為“1”。

②若寬高比大于0.35 同時(shí)小于0.8,應(yīng)用傳統(tǒng)穿線法即可。

③若寬高比大于0.8,圖像為小數(shù)點(diǎn)。

2)對(duì)于傾斜數(shù)碼管,小數(shù)點(diǎn)與數(shù)字被分割到同一張圖像中。對(duì)于分割后寬高比小于0.35 的二值化圖像,有以下三種情形:

①分割線c與e相交處和分割線a上皆有灰度值為255 的像素點(diǎn),則字符為“1.”;

②分割線c與e相交處有、分割線a上沒(méi)有灰度值為255 的像素點(diǎn),則字符為小數(shù)點(diǎn);

③分割線c與e相交處沒(méi)有、分割線a上有灰度值為255 的像素點(diǎn),則字符結(jié)果為“1”。

若寬高比大于0.35,通過(guò)判別分割線c與e相交處的鄰域內(nèi)是否有灰度值為255 的像素點(diǎn),如果有該像素點(diǎn)則該圖像存在小數(shù)點(diǎn),反之則沒(méi)有,之后對(duì)圖像應(yīng)用傳統(tǒng)穿線法進(jìn)行字符識(shí)別。

2.3 五線穿線法與KNN的混合識(shí)別法

受數(shù)碼管自身質(zhì)量、傳輸過(guò)程與字符預(yù)處理過(guò)程等種種因素的影響,分割后的數(shù)字0、2~9 的寬高比可能小于0.35,造成識(shí)別錯(cuò)誤。在此基礎(chǔ)上,對(duì)字符分割后寬高比小于0.35 的圖像進(jìn)行KNN 算法識(shí)別。

KNN 是機(jī)器學(xué)習(xí)中有監(jiān)督的分類算法[16],KNN中的K 是指被測(cè)試對(duì)象與經(jīng)過(guò)訓(xùn)練后的樣本中最靠近的K個(gè)“鄰居”,通過(guò)查看鄰居的類別進(jìn)而來(lái)判斷被測(cè)試對(duì)象的屬于哪一類。對(duì)于樣本X=(x1,x2,…,xn)和被測(cè)對(duì)象Y=(y1,y2,…,yn)使用歐氏距離來(lái)定義被測(cè)對(duì)象與訓(xùn)練樣本的距離,如式(7)所示:

在使用KNN 算法時(shí),為了消除樣本和被測(cè)對(duì)象之間特征值量級(jí)的影響,使用標(biāo)準(zhǔn)差法進(jìn)行標(biāo)準(zhǔn)化,如式(8)所示:

3 實(shí)驗(yàn)軟件平臺(tái)

3.1 實(shí)驗(yàn)環(huán)境介紹

該文的字符識(shí)別程序語(yǔ)言為C++,實(shí)驗(yàn)用計(jì)算機(jī)CPU 為AMD-4600H,實(shí)驗(yàn)平臺(tái)環(huán)境為Windows10+LabVIEW2018+OpenCV4.5.0。通過(guò)編寫LabVIEW程序以及對(duì)其CLN 節(jié)點(diǎn)對(duì)基于OpenCV 和KNN 的字符識(shí)別程序動(dòng)態(tài)鏈接庫(kù)DLL 的調(diào)用,達(dá)到了調(diào)取原圖片、顯示讀取字符的結(jié)果和程序運(yùn)行時(shí)間等關(guān)鍵實(shí)驗(yàn)數(shù)據(jù)的目的,如圖11 所示。該文隨機(jī)選取了300張含有傾斜與水平數(shù)碼管字符的圖像。

圖11 實(shí)驗(yàn)平臺(tái)

3.2 實(shí)驗(yàn)方法對(duì)比

該文對(duì)單獨(dú)使用改進(jìn)穿線法和同時(shí)使用改進(jìn)穿線法+KNN 方法的實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比,因?yàn)閿?shù)字1被分割后的二值化圖像寬高比小于0.35,故以1 為變量,把測(cè)試樣本分為兩組,每組的圖像皆為200 張,以考察不同算法的準(zhǔn)確率以及程序識(shí)別平均時(shí)間的影響。一組含有數(shù)字1,其占比為25%,實(shí)驗(yàn)結(jié)果如表1 所示。

表1 含有數(shù)字1的對(duì)比結(jié)果

另一組不含數(shù)字1,實(shí)驗(yàn)結(jié)果如表2 所示。

表2 不含數(shù)字1的對(duì)比結(jié)果

實(shí)驗(yàn)表明,改進(jìn)穿線法+KNN 法的準(zhǔn)確率更高,即提高了經(jīng)圖像預(yù)處理后寬高比小于0.35 的字符識(shí)別準(zhǔn)確率。但是在識(shí)別含有數(shù)字1 的組別時(shí),該方法的運(yùn)行時(shí)間較長(zhǎng)。為了確定KNN 算法識(shí)別字符的時(shí)間影響,選取了30 張皆含有數(shù)字1 的圖像,同樣用上述的兩種方法做對(duì)比實(shí)驗(yàn),結(jié)果如表3 所示。

表3 只有數(shù)字1的對(duì)比結(jié)果

通過(guò)增加對(duì)比實(shí)驗(yàn)后表明,使用改進(jìn)穿線法+KNN 方法比單獨(dú)使用改進(jìn)穿線法的識(shí)別率高。由表2 可以看出,在模擬實(shí)際環(huán)境中使用改進(jìn)穿線法+KNN 法的識(shí)別時(shí)間只比單獨(dú)使用改進(jìn)穿線法慢約10 ms,在實(shí)際環(huán)境下使用改進(jìn)穿線法+KNN 法識(shí)別率達(dá)到95%以上。

4 結(jié)束語(yǔ)

該文從實(shí)際場(chǎng)景出發(fā),在傳統(tǒng)使用三根線的穿線法基礎(chǔ)上進(jìn)行了改進(jìn),提出了用五根線進(jìn)行穿線,提高了對(duì)小數(shù)點(diǎn)的識(shí)別精度。在改進(jìn)穿線法基礎(chǔ)上,將機(jī)器學(xué)習(xí)KNN 方法與改進(jìn)穿線法相融合,保證了識(shí)別系統(tǒng)的高準(zhǔn)確率以及運(yùn)行速度,得到了較好的實(shí)驗(yàn)結(jié)果,對(duì)提升數(shù)碼管儀表的自動(dòng)檢測(cè)效率及精度具有參考價(jià)值。

猜你喜歡
分割線穿線字符識(shí)別
女裝分割線結(jié)構(gòu)設(shè)計(jì)技術(shù)研究
遼寧絲綢(2022年1期)2022-03-29 00:59:00
羽毛球大賽的穿線是什么樣的?
羽毛球(2019年9期)2019-09-10 14:48:23
2019蘇杯尤尼克斯穿線團(tuán)隊(duì)成員工作隨筆
羽毛球(2019年8期)2019-09-10 07:22:44
一種改進(jìn)深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)的英文字符識(shí)別
儀表字符識(shí)別中的圖像處理算法研究
分割線設(shè)計(jì)手法在服裝設(shè)計(jì)中的運(yùn)用分析
簡(jiǎn)易手拉式擦窗器
簡(jiǎn)易手拉式擦窗器
基于CUDA和深度置信網(wǎng)絡(luò)的手寫字符識(shí)別
基于CUDA和深度置信網(wǎng)絡(luò)的手寫字符識(shí)別
巨鹿县| 北安市| 菏泽市| 和平县| 盘锦市| 邛崃市| 蛟河市| 禄丰县| 敦化市| 卓尼县| 诸城市| 井陉县| 武穴市| 商城县| 日照市| 安丘市| 德兴市| 武城县| 仪征市| 石台县| 临汾市| 灵寿县| 元谋县| 余姚市| 射洪县| 昔阳县| 仁化县| 道真| 句容市| 宣威市| 宁波市| 澄迈县| 抚顺市| 绥棱县| 安徽省| 项城市| 堆龙德庆县| 土默特右旗| 禹城市| 丽水市| 建阳市|