一種基于dsp的高速紙幣冠字號(hào)碼提取及識(shí)別方法
【專利摘要】本發(fā)明公開了一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,主要包括以下步驟:(1)對(duì)DSP模塊初始化,讀取已經(jīng)建立的字符模板庫(kù);(2)接收待處理的紙幣圖像數(shù)據(jù);(3)讀取紙幣圖像數(shù)據(jù)并進(jìn)行二值化處理;(4)對(duì)二值化處理后的圖像數(shù)據(jù)進(jìn)行投影字符分割,得到里面包含的所有字符并排序,判斷是否找到10個(gè)字符;是,則執(zhí)行步驟(5);否,則返回步驟(2)等步驟。本發(fā)明不僅整個(gè)流程和算法較為簡(jiǎn)單,而且其運(yùn)算速度較快、精確性較高。
【專利說(shuō)明】—種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種紙幣識(shí)別方法,具體是指一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法。
【背景技術(shù)】
[0002]紙幣的冠號(hào)和數(shù)字編號(hào)是用來(lái)記錄紙幣發(fā)行序列的,由于冠字號(hào)碼具有唯一性,因此在紙幣出入庫(kù)時(shí)記錄每張紙幣的號(hào)碼,建立幣碼檔案,可以使金融部門等有效跟蹤紙幣在社會(huì)的流通情況,并進(jìn)行有效監(jiān)管,從而有利于解決類似搶劫運(yùn)鈔車、洗錢等重大社會(huì)問(wèn)題。按照國(guó)家標(biāo)準(zhǔn)要求,銀行等金融行業(yè)必須配備具有冠字號(hào)碼提取、識(shí)別功能的A類點(diǎn)鈔機(jī)。
[0003]我國(guó)冠字號(hào)碼提取及識(shí)別技術(shù)起步較晚,目前還處于應(yīng)用試驗(yàn)階段。雖然哈爾濱工業(yè)大學(xué)研制的基于DSP紙幣號(hào)碼識(shí)別系統(tǒng)具有識(shí)別速度達(dá)480張/分鐘的特點(diǎn),但該速度僅為PC機(jī)上的理論仿真結(jié)果,并沒有用實(shí)際的樣機(jī)實(shí)現(xiàn)。同時(shí),國(guó)內(nèi)目前也并沒有成熟的產(chǎn)品投入市場(chǎng)。因此,如何有效高速、精確的完成對(duì)紙幣圖形中冠字號(hào)碼的提取和識(shí)別,便是人們所要解決的重要技術(shù)難題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于克服目前人們還無(wú)法高效、精確的完成對(duì)紙幣圖形中冠字號(hào)碼的提取及識(shí)別的缺陷,提供一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法。
[0005]本發(fā)明的目的通過(guò)下述技術(shù)方案實(shí)現(xiàn):一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,主要包括以下步驟:
(1)對(duì)DSP模塊初始化,讀取已經(jīng)建立的字符模板庫(kù);
(2)接收待處理的紙幣圖像數(shù)據(jù);
(3)讀取紙幣圖像數(shù)據(jù)并進(jìn)行二值化處理;
(4)對(duì)二值化處理后的圖像數(shù)據(jù)進(jìn)行投影字符分割,得到里面包含的所有字符并排序,判斷是否找到10個(gè)字符?是,則執(zhí)行步驟(5);否,則返回步驟(2);
(5)對(duì)已讀取的字符模板庫(kù)的字符進(jìn)行投影字符分割和識(shí)別,并與步驟(4)中所生成的字符進(jìn)行相交運(yùn)算,最后輸出識(shí)別到的字符串。
[0006]進(jìn)一步地,步驟(3)中所述的“二值化處理”是指:預(yù)先設(shè)定一個(gè)閾值,并將紙幣圖像數(shù)據(jù)的每個(gè)像素均與該閾值相減,若其差值大于0,則將該點(diǎn)設(shè)為I ;若其差值小于或等于0,則將該點(diǎn)設(shè)為O。
[0007]步驟(4)中所述的“投影字符分割”具體包括以下步驟:
(Al)讀取二值化處理后的圖像數(shù)據(jù);
(A2)對(duì)該圖像在X方向上進(jìn)行投影,得到一條(X,piOj)曲線,并對(duì)該曲線進(jìn)行平滑,其計(jì)算公式為:proj [x] =sum(col [r]),其中,0〈r〈height。
[0008](A3)找到該曲線的所有波谷,則相鄰波谷之間就是一個(gè)字符的所在區(qū)域,同時(shí)根據(jù)波谷位置得到每一個(gè)字符在X軸上的起始和結(jié)束位置;
(A4)計(jì)算每一個(gè)字符在Y軸上的投影,并根據(jù)投影找到每一個(gè)字符在Y軸上的起始和結(jié)束位置。
[0009]步驟(5)中所述的“對(duì)已讀取的字符模板庫(kù)的字符進(jìn)行投影字符分割和識(shí)別”,其具體包括以下步驟:
(BI)讀取一組已知字符的字符圖像;
(B2)采用投影字符分割,將每一個(gè)字符進(jìn)行分割,然后把每一個(gè)字符的像素都縮放為40*80,并保存在模板中,同時(shí)保存其對(duì)應(yīng)的字符;
(B3)將步驟(4)中所生成的所有字符均與模板進(jìn)行相交運(yùn)算,找到擁有最大值的模板所對(duì)應(yīng)的字符;且其“相交運(yùn)算”所采用的公式為:
cov = sum(model [i] * check[i]) / sqrt(sum(model [i] * model[i]) *sum(check[i] * check[i]));
(B4)重復(fù)步驟(B3),直至所有的字符均識(shí)別完畢。
[0010]為了確保效果,所述“預(yù)先設(shè)定一個(gè)閾值”,該閾值的取值范圍是40?50。
[0011]本發(fā)明較現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn)及有益效果:
(I)本發(fā)明不僅整個(gè)流程和算法較為簡(jiǎn)單,而且其運(yùn)算速度較快、精確性較高。
[0012](2)本發(fā)明的識(shí)別速度可達(dá)700張/分鐘,較傳統(tǒng)的驗(yàn)鈔機(jī)相比,其識(shí)別速度可提聞40%以上。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1為本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。
[0014]圖2為本發(fā)明的整體流程示意圖。
[0015]圖3為本發(fā)明投影字符分割的流程示意圖。
[0016]圖4為本發(fā)明對(duì)已讀取的字符模板庫(kù)的字符進(jìn)行投影字符分割和識(shí)別的流程示意圖。
【具體實(shí)施方式】
[0017]下面結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)說(shuō)明,但本發(fā)明的實(shí)施方式不限于此。實(shí)施例
[0018]人民幣紙幣是我國(guó)法定的流通貨幣,其上除了漢字、少數(shù)民族文字、漢語(yǔ)拼音及第四套人民幣主幣上增加的盲文外,還有用以控制各種票券印制數(shù)量和防偽作用的冠號(hào)和號(hào)碼。冠,取首之意,冠字也稱“字頭”,即印在票券號(hào)碼前的符號(hào),用以表示各種票券和印制數(shù)量的批號(hào)。我國(guó)紙幣的冠號(hào)和號(hào)碼一起構(gòu)成了該張紙幣的唯一識(shí)別號(hào)碼,其共計(jì)由10個(gè)字符組成,包括有字母和阿拉伯?dāng)?shù)字。
[0019]為了追蹤和識(shí)別每張人民幣,因此銀行所配別的驗(yàn)鈔機(jī)就需要對(duì)每張人民幣進(jìn)行掃描、識(shí)別和提取等處理流程。本發(fā)明所提供的紙幣冠字號(hào)碼提取及識(shí)別系統(tǒng)見圖1所示,即由DSP模塊1、FPGA模塊2、SDRAM存儲(chǔ)器3、CIS控制模塊4、A/D轉(zhuǎn)換器5和CIS圖像傳感器6組成。其中,F(xiàn)PGA模塊2和SDRAM存儲(chǔ)器3均與DSP模塊I相連接,CIS控制模塊4和A/D轉(zhuǎn)換器5均與FPGA模塊2相連接,而CIS圖像傳感器6則分別與CIS控制模塊4和A/D轉(zhuǎn)換器5相連接。同時(shí),A/D轉(zhuǎn)換器5還與SDRAM存儲(chǔ)器3相連接。
[0020]為了確保效果,SDRAM存儲(chǔ)器3優(yōu)先采用DDR SDRAM存儲(chǔ)器來(lái)實(shí)現(xiàn),且CIS圖像傳感器6需要采用1:1的掃描性能。運(yùn)行時(shí),本發(fā)明以FPGA模塊2作為全局控制核心,其工作頻率在200MHz以上。FPGA模塊2向CIS圖像傳感器6發(fā)送點(diǎn)亮光源信號(hào),并啟動(dòng)信號(hào)SI及時(shí)鐘控制信號(hào)CLK,讓CIS圖像傳感器6對(duì)紙幣正反兩面同時(shí)進(jìn)行圖像采集,并且,F(xiàn)PGA模塊2也為A/D轉(zhuǎn)換器5提供時(shí)鐘信號(hào)CLK。
[0021 ] A/D轉(zhuǎn)換器5在FPGA模塊2提供的轉(zhuǎn)換時(shí)鐘下,將CIS圖像傳感器6所輸出的模擬信號(hào)轉(zhuǎn)為數(shù)字信號(hào),并送入DDR SDRAM存儲(chǔ)器3,DSP模塊I在FPGA模塊2的控制下讀取DDR SDRAM存儲(chǔ)器3中的圖像數(shù)據(jù)。
[0022]當(dāng)DSP模塊I讀取DDR SDRAM存儲(chǔ)器3中的圖形數(shù)據(jù)后便需要進(jìn)行圖像二值化、字符分割及字符識(shí)別等數(shù)字圖像處理過(guò)程,其具體步驟詳見圖2所示。即其包括有以下步驟:
(I)對(duì)DSP模塊初始化,讀取已經(jīng)建立的字符模板庫(kù)。該字符模板庫(kù)是預(yù)先建立的包含了目前市面上所有流通紙幣數(shù)據(jù)的數(shù)據(jù)庫(kù)。
[0023](2)接收待處理的紙幣圖像數(shù)據(jù)。運(yùn)行時(shí),驗(yàn)鈔機(jī)通過(guò)圖像傳感器采集紙幣正反兩面的圖像信息,并將該紙幣的圖像信息傳遞給DSP模塊。
[0024](3)讀取紙幣圖像數(shù)據(jù)并進(jìn)行二值化處理。這里的二值化處理是指,預(yù)先設(shè)定一個(gè)取值為40?50之間的閾值,并將紙幣圖像數(shù)據(jù)的每個(gè)像素均與該閾值相減,若其差值大于0,則將該點(diǎn)設(shè)為I ;若其差值小于或等于0,則將該點(diǎn)設(shè)為O。
[0025](4)對(duì)二值化處理后的圖像數(shù)據(jù)進(jìn)行投影字符分割,得到里面包含的所有字符并排序,判斷是否找到10個(gè)字符?是,則執(zhí)行步驟(5);否,則返回步驟(2)。
[0026]其中,所述的“投影字符分割”流程詳見圖3所示,即其具體包括以下步驟:
(Al)讀取二值化處理后的圖像數(shù)據(jù)。
[0027](A2)對(duì)該圖像在X方向上進(jìn)行投影,得到一條(X,piOj)曲線,并對(duì)該曲線進(jìn)行平滑,而該曲線的計(jì)算公式則為proj [X] = sum (col [r]), O < r < height。
[0028](A3)找到該曲線的所有波谷,則相鄰波谷之間就是一個(gè)字符的所在區(qū)域,同時(shí)根據(jù)波谷位置得到每一個(gè)字符在X軸上的起始和結(jié)束位置。
[0029](A4)計(jì)算每一個(gè)字符在Y軸上的投影,并根據(jù)投影找到每一個(gè)字符在Y軸上的起始和結(jié)束位置。
[0030](5)對(duì)已讀取的字符模板庫(kù)的字符進(jìn)行投影字符分割和識(shí)別,并與步驟(4)中所生成的字符進(jìn)行相交運(yùn)算,最后輸出識(shí)別到的字符串。
[0031]如圖4所示,本發(fā)明對(duì)已讀取的字符模板庫(kù)的字符進(jìn)行投影字符分割和識(shí)別,其具體包括以下步驟:
(BI)讀取一組已知字符的字符圖像;
(B2)采用投影字符分割,將每一個(gè)字符進(jìn)行分割,然后把每一個(gè)字符的像素都縮放為40*80,并保存在模板中,同時(shí)保存其對(duì)應(yīng)的字符;
(B3)將步驟(4)中所生成的所有字符均與模板進(jìn)行相交運(yùn)算,找到擁有最大值的模板所對(duì)應(yīng)的字符;(B4)重復(fù)步驟(B3),直至所有的字符均識(shí)別完畢。
[0032]而所謂的“相交運(yùn)算”,則其采用的公式為:
cov = sum(model [i] * check[i]) / sqrt(sum(model [i] * model [i]) *sum(check[i] ^ check[i]))。
[0033]如上所述,便 可以很好的實(shí)現(xiàn)本發(fā)明。
【權(quán)利要求】
1.一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,主要包括以下步驟: (1)對(duì)DSP模塊初始化,讀取已經(jīng)建立的字符模板庫(kù); (2)接收待處理的紙幣圖像數(shù)據(jù); (3)讀取紙幣圖像數(shù)據(jù)并進(jìn)行二值化處理; (4)對(duì)二值化處理后的圖像數(shù)據(jù)進(jìn)行投影字符分割,得到里面包含的所有字符并排序,判斷是否找到10個(gè)字符?是,則執(zhí)行步驟(5);否,則返回步驟(2); (5)對(duì)已讀取的字符模板庫(kù)的字符進(jìn)行投影字符分割和識(shí)別,并與步驟(4)中所生成的字符進(jìn)行相交運(yùn)算,最后輸出識(shí)別到的字符串。
2.根據(jù)權(quán)利要求1所述的一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,步驟(3)中所述的“二值化處理”是指:預(yù)先設(shè)定一個(gè)閾值,并將紙幣圖像數(shù)據(jù)的每個(gè)像素均與該閾值相減,若其差值大于0,則將該點(diǎn)設(shè)為I ;若其差值小于或等于0,則將該點(diǎn)設(shè)為O。
3.根據(jù)權(quán)利要求1或2所述的一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,步驟(4)中所述的“投影字符分割”具體包括以下步驟: (Al)讀取二值化處理后的圖像數(shù)據(jù); (A2)對(duì)該圖像在X方向上進(jìn)行投影,得到一條(X,piOj)曲線,并對(duì)該曲線進(jìn)行平滑; (A3)找到該曲線的所有波谷,則相鄰波谷之間就是一個(gè)字符的所在區(qū)域,同時(shí)根據(jù)波谷位置得到每一個(gè)字符在X軸上的起始和結(jié)束位置; (A4)計(jì)算每一個(gè)字符在Y軸上的投影,并根據(jù)投影找到每一個(gè)字符在Y軸上的起始和結(jié)束位置。
4.根據(jù)權(quán)利要求3所述的一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,步驟(5)中所述的“對(duì)已讀取的字符模板庫(kù)的字符進(jìn)行投影字符分割和識(shí)別”,其具體包括以下步驟: (BI)讀取一組已知字符的字符圖像; (B2)采用投影字符分割,將每一個(gè)字符進(jìn)行分割,然后把每一個(gè)字符的像素都縮放為40*80,并保存在模板中,同時(shí)保存其對(duì)應(yīng)的字符; (B3)將步驟(4)中所生成的所有字符均與模板進(jìn)行相交運(yùn)算,找到擁有最大值的模板所對(duì)應(yīng)的字符; (B4)重復(fù)步驟(B3),直至所有的字符均識(shí)別完畢。
5.根據(jù)權(quán)利要求4所述的一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,步驟(B3)中所述的“相交運(yùn)算”,其采用的公式為: cov = sum(model [i] * check[i]) / sqrt(sum(model [i] * model [i]) *sum(check[i] * check[i]))。
6.根據(jù)權(quán)利要求2所述的一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,所述“預(yù)先設(shè)定一個(gè)閾值”,該閾值的取值范圍是40?50。
7.根據(jù)權(quán)利要求3所述的一種基于DSP的高速紙幣冠字號(hào)碼提取及識(shí)別方法,其特征在于,步驟(A2)中所述的(X,proj)曲線的計(jì)算公式為:proj [x]=sum(col [r]),其中,0〈r〈heighto
【文檔編號(hào)】G07D7/20GK103679918SQ201410005106
【公開日】2014年3月26日 申請(qǐng)日期:2014年1月6日 優(yōu)先權(quán)日:2014年1月6日
【發(fā)明者】陳鎮(zhèn)龍, 宋昀岑, 代君, 李汶洲, 羅穎 申請(qǐng)人:成都術(shù)有科技有限公司