基于FPGA的數(shù)字識(shí)別三
掃描二維碼
隨時(shí)隨地手機(jī)看文章
基于FPGA的數(shù)字識(shí)別三
1 背景知識(shí)
在《基于FPGA數(shù)字識(shí)別一》我們?cè)谌N數(shù)字識(shí)別方法中選擇了數(shù)字特征識(shí)別算法,完成了屏幕固定位置的數(shù)字識(shí)別。例如圖1所示,數(shù)字只有在標(biāo)線的固定位置才能被識(shí)別,移出標(biāo)線就不能被識(shí)別。
圖1 基于固定標(biāo)線的數(shù)字識(shí)別
在《基于FPGA的數(shù)字識(shí)別二》中我們?cè)跀?shù)字識(shí)別的前端增加了移動(dòng)目標(biāo)的追蹤模塊,從而完成了屏幕范圍內(nèi)0-9的任意位置的識(shí)別。例如圖2,首先定位出數(shù)字在屏幕的上下左右邊界,最后以此邊界為依據(jù)識(shí)別數(shù)字。從而改變的數(shù)字不能移動(dòng)的問題。但是每次只能識(shí)別一個(gè)數(shù)字。
圖2 不限位置的單個(gè)數(shù)字識(shí)別
為了完成屏幕內(nèi)多個(gè)數(shù)字的識(shí)別,例如一排五個(gè)或者兩排10個(gè)數(shù)字等的識(shí)別。我們?cè)黾恿恕痘?/span>FPGA的水平垂直投影法》字符分割算法,完成了多個(gè)字符的邊界查找和分割。例如圖3所示。這為多個(gè)數(shù)字識(shí)別或是車牌識(shí)別打下基礎(chǔ)。
圖3 水平垂直投影分割字符
在《基于FPGA的數(shù)字識(shí)別三》中我們將完成多個(gè)數(shù)字的同時(shí)識(shí)別,且不限于多個(gè)數(shù)字在屏幕上的位置大小。
2 基于FPGA的數(shù)字識(shí)別三
在《基于FPGA的數(shù)字識(shí)別三》中我們利用的了前邊的數(shù)字識(shí)別一和二以及垂直投影法。這樣對(duì)之前的模塊復(fù)用也是FPGA設(shè)計(jì)的核心思想。
圖4 多個(gè)數(shù)字識(shí)別系統(tǒng)框圖
如圖4所示,我們?cè)诖怪蓖队澳K后邊增加了數(shù)字識(shí)別模塊。
圖5例化三個(gè)數(shù)字識(shí)別模塊
利用信號(hào)的多拍處理完成了三個(gè)數(shù)字轉(zhuǎn)數(shù)碼管的實(shí)現(xiàn)。
信號(hào)多拍處理。
結(jié)果展示:
圖6 放出標(biāo)線的多個(gè)數(shù)字識(shí)別調(diào)試
圖7 放出標(biāo)線的5,6,7
圖8 追蹤邊界的5,6,7識(shí)別
至此數(shù)字識(shí)別完成,再次基礎(chǔ)上我們還可以對(duì)簡單圖像的識(shí)別或增加語音系統(tǒng)完成對(duì)識(shí)別數(shù)字的播報(bào)。一個(gè)簡單的機(jī)器智能就此實(shí)現(xiàn)。