




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、石河子大學(xué)石河子大學(xué)信息科學(xué)與技術(shù)學(xué)院畢業(yè)論文信息科學(xué)與技術(shù)學(xué)院畢業(yè)論文課題名稱:課題名稱:手寫體數(shù)字識別系統(tǒng)設(shè)計手寫體數(shù)字識別系統(tǒng)設(shè)計學(xué)生姓名:學(xué)生姓名:學(xué)學(xué) 號:號:學(xué)學(xué) 院:院:信息科學(xué)與技術(shù)學(xué)院信息科學(xué)與技術(shù)學(xué)院專業(yè)年級:專業(yè)年級:電子信息工程電子信息工程 20072007 級級指導(dǎo)教師:指導(dǎo)教師:職職 稱:稱:完成日期:完成日期:二二一一年六月十一日一一年六月十一日手寫體數(shù)字識別系統(tǒng)設(shè)計手寫體數(shù)字識別系統(tǒng)設(shè)計學(xué)生: 指導(dǎo)教師: 摘要摘要 隨著科學(xué)技術(shù)的迅速發(fā)展,在郵政編碼、統(tǒng)計報表、財務(wù)報表、銀行票據(jù)等處理大量字符信息錄入的場合,手寫數(shù)字識別系統(tǒng)的應(yīng)用需求越來越強烈,如何將數(shù)字方便、
2、快速地輸入到計算機中已成為關(guān)系到計算機技術(shù)普及的關(guān)鍵問題。本文設(shè)計實現(xiàn)了一個基于 Matlab 軟件的手寫體數(shù)字識別系統(tǒng),采用模塊化設(shè)計方法,編寫了攝像頭輸入、直接讀取圖片、寫字板輸入三個模塊,利用攝像頭等工具,將以文本形式存在的手寫體數(shù)字輸入進計算機,完成對手寫體數(shù)字圖片的采集,并設(shè)計了一種手寫數(shù)字識別方法,對手寫體數(shù)字圖像進行預(yù)處理、結(jié)構(gòu)特征提取、分類識別,最終以文本形式輸出數(shù)字,從而實現(xiàn)手寫體數(shù)字的識別。 關(guān)鍵詞關(guān)鍵詞 預(yù)處理,結(jié)構(gòu)特征提取,分類識別,手寫體數(shù)字識別Handwritten Digit Recognition SystemStudents:Teacher:Abstract:
3、 With the rapid development of science and technology, in zip code, statistics, reports, financial statements, Bank bills dealing with a large number of characters, such as information recorded occasions, handwritten digit recognition system of requirement has become stronger and stronger, how easil
4、y and quickly the number entered in the computer has become a key issue relates to the popularization of computer technology. This article design implementation has a based on Matlab software of handwriting body digital recognition system, used module of design method, write has camera entered, and
5、directly read pictures, and write Board entered three a module, using camera, tools, will to text form exists of handwriting body digital entered into computer, completed on handwriting body digital pictures of collection, and design has a handwriting digital recognition method, on handwriting body
6、digital image for pretreatment, and structure features extraction, and classification recognition, eventually to text form output digital, to implementation handwriting body digital of recognition.Key words: Pretreatment, structure feature extraction, classification and recognition, handwritten digi
7、t recognition.目目 錄錄第一章 引言.11.1 課題背景.11.2 課題研究目的及意義.11.2.1 手寫體數(shù)字識別的研究目的 .11.2.2 手寫體數(shù)字識別的研究意義 .21.3 課題研究現(xiàn)狀及發(fā)展趨勢.21.4 課題整體結(jié)構(gòu).31.5 課題難點分析.4第二章 開發(fā)運行環(huán)境.5系統(tǒng)開發(fā)環(huán)境和運行環(huán)境.5開發(fā)工具介紹.52.2.1 硬件部分介紹 .52.2.2 軟件部分介紹 .6第三章 手寫體數(shù)字識別系統(tǒng)構(gòu)成及原理.83.1 圖像處理基礎(chǔ)知識.8手寫體數(shù)字識別系統(tǒng)構(gòu)成.10手寫體數(shù)字識別系統(tǒng)原理.10預(yù)處理 .10圖像分割 .14特征提取 .14分類識別 .15第四章 手寫體數(shù)字
8、識別系統(tǒng)設(shè)計分析.164.1 程序主界面.164.2 基準(zhǔn)庫的選擇與建立.184.3 手寫體數(shù)字識別系統(tǒng)設(shè)計.19攝像頭輸入模塊的設(shè)計 .19直接讀圖模塊的設(shè)計 .20寫字板輸入模塊的設(shè)計 .22第五章 系統(tǒng)性能評價及實驗結(jié)果分析.255.1 識別系統(tǒng)性能的評價.255.2 實驗結(jié)果分析.25第六章 結(jié)論.276.1 畢業(yè)設(shè)計總結(jié).276.2 課題前景與展望.27致 謝.29參考文獻.30附 錄.31附 1、識別部分主程序.31附 2、創(chuàng)建模板部分函數(shù).32附 3、切割圖片部分函數(shù).33附 4、輸出圖片部分函數(shù).34第一章 引言1.1 課題背景數(shù)字已有數(shù)千年的歷史,在世界上使用很廣,然而,在當(dāng)
9、今社會里,如何快速高效地將數(shù)字輸入計算機,已成為影響人機接口效率的一個重要瓶頸,也關(guān)系到計算機能否真正在我國得到普及應(yīng)用1。手寫數(shù)字識別是光學(xué)字符識別技術(shù)(Optical Character Recognition,簡稱OCR)的一個分支,它研究的對象是:如何利用電子計算機自動辨認(rèn)人手寫在紙張上的阿拉伯?dāng)?shù)字。在整個 OCR 領(lǐng)域中,最為困難的就是脫機手寫字符的識別。到目前為止,盡管人們在脫機手寫英文、漢字識別的研究中已取得很多可喜成就,但距實用還有一定距離。而在手寫數(shù)字識別這個方向上,經(jīng)過多年研究,研究工作者已經(jīng)開始把它向各種實際應(yīng)用推廣,為手寫數(shù)據(jù)的高速自動輸入提供了一種解決方案2。字符識別
10、處理的信息可分為兩大類:一類是文字信息,處理的主要是用各國家、各民族的文字(如:漢字,英文等)書寫或印刷的文本信息,目前在印刷體和聯(lián)機手寫方面技術(shù)已趨向成熟,并且推出了很多應(yīng)用系統(tǒng);另一類是數(shù)據(jù)信息,主要是由阿拉伯?dāng)?shù)字及少量特殊符號組成的各種編號和統(tǒng)計數(shù)據(jù),如:郵政編碼、統(tǒng)計報表、財務(wù)報表、銀行票據(jù)等等,處理這類信息的核心技術(shù)是手寫數(shù)字識別。這幾年來我國開始大力推廣的“三金”工程在很大程度上要依賴數(shù)據(jù)信息的輸入,如果能通過手寫數(shù)字識別技術(shù)實現(xiàn)信息的自動錄入,無疑會促進這一事業(yè)的進展。因此,手寫數(shù)字的識別研究有著重大的現(xiàn)實意義,一旦研究成功并投入應(yīng)用,將產(chǎn)生巨大的社會和經(jīng)濟效益3。1.2 課題研
11、究目的及意義1.2.1 手寫體數(shù)字識別的研究目的手寫數(shù)字識別在學(xué)科上屬于模式識別和人工智能的范疇。在過去的四十年中,人們想出了很多辦法獲取手寫字符的關(guān)鍵特征。這些手段分兩大類:全局分析和結(jié)構(gòu)分析。對前者,我們可以使用模板匹配、象素密度、矩、特征點、數(shù)學(xué)變換等技術(shù)。對后者,多半需要從字符的輪廓或骨架上提取字符形狀的基本特征,包括:圈、端點、節(jié)點、弧、突起、凹陷、筆畫等4。多年的研究實踐表明,對于完全沒有限制的手寫數(shù)字,幾乎可以肯定:沒有一種簡單的方案能達(dá)到很高的識別率和識別精度。因此,最近這方面的努力向著更為成熟、復(fù)雜、綜合的方向發(fā)展。本課題通過對手寫體數(shù)字識別系統(tǒng)的研究,介紹了一種手寫數(shù)字識別
12、核心算法。即基于數(shù)字的結(jié)構(gòu),利用模板匹配、象素密度、矩、特征點、數(shù)學(xué)變換等技術(shù)獲取手寫體數(shù)字的關(guān)鍵特征,提出一種具體識別數(shù)字的方法,利用我們所掌握的電子信息工程的專業(yè)知識來實現(xiàn),進而完成手寫體數(shù)字識別系統(tǒng)的設(shè)計。1.2.2 手寫體數(shù)字識別的研究意義手寫數(shù)字識別研究價值意義在于自然人機交互領(lǐng)域,提高人機交互的自然性和友好性。在于數(shù)字信息自動處理領(lǐng)域,節(jié)省人力,提高效率,加快信息流動,創(chuàng)造巨大的經(jīng)濟效益5。手寫數(shù)字識別的理論價值如下6:(1)阿拉伯?dāng)?shù)字是唯一的被世界各國通用的符號,對手寫數(shù)字識別的研究基本上與文化背景無關(guān),這樣就為各國,各地區(qū)的研究工作者提供了一個施展才智的大舞臺。在這一領(lǐng)域大家可
13、以探討,比較各種研究方法。(2)由于數(shù)字識別的類別數(shù)較小,有助于做深入分析及驗證一些新的理論。(3)盡管人們對手寫數(shù)字的識別已從事了很長時間的研究,并已取得了很多成果,但到目前為止機器的識別本領(lǐng)還無法與人的認(rèn)知能力相比,這仍是一個有難度的開放問題。(4)手寫數(shù)字的識別方法很容易推廣到其它一些相關(guān)問題,一個直接的應(yīng)用是對英文這樣的拼音文字的識別。事實上,很多學(xué)者就是把數(shù)字和英文字母的識別放在一塊兒研究的。1.3 課題研究現(xiàn)狀及發(fā)展趨勢手寫數(shù)字識別有著重要的價值,IBM、HP、日立、東芝、夏普、NEC、理光和新加坡熱卡公司等國外公司都曾巨額投入手寫數(shù)字識別領(lǐng)域。而隨著國家信息化進程的加速,手寫數(shù)字
14、識別的應(yīng)用需求越來越廣泛,應(yīng)用系統(tǒng)的性能的關(guān)鍵與瓶頸在于手寫數(shù)字識別核心算法性能上,最終目標(biāo)是研究零誤識率和低拒識率的高速識別算法。此外,盡早建立反映中國人書寫習(xí)慣的、具有國家標(biāo)準(zhǔn)性質(zhì)的手寫數(shù)字樣本庫也是當(dāng)務(wù)之急。在大規(guī)模的數(shù)據(jù)統(tǒng)計(如:行業(yè)年檢、人口普查等)中,需要輸入大量的數(shù)據(jù),以前完全要手工輸入,需耗費大量的人力和物力。近年來在這類工作中采用手寫識別技術(shù)已成為一種趨勢。因為數(shù)據(jù)的錄入是集中組織的,所以往往可以通過專門設(shè)計表格和對書寫施加限制以便于機器的自動識別。目前國內(nèi)的大多數(shù)實用系統(tǒng)都要求用戶按指定規(guī)范在方格內(nèi)填寫。另外,這些系統(tǒng)往往采用合適的用戶界面對識別結(jié)果做全面的檢查,最終保證結(jié)
15、果正確無誤??梢钥闯觯@種應(yīng)用對識別核心算法的要求比較低,是目前國內(nèi)很多單位應(yīng)用開發(fā)的熱點7。財務(wù)、稅務(wù)、金融是手寫數(shù)字識別大有可為的又一領(lǐng)域。隨著我國經(jīng)濟的迅速發(fā)展,每天等待處理的財務(wù)、稅務(wù)報表、支票、付款單等越來越多。如果能把它們用計算機自動處理,無疑可以節(jié)約大量的時間、金錢和勞力。與上面提到的統(tǒng)計報表處理相比,在這個領(lǐng)域的應(yīng)用難度更大,因為對識別的精度要求更高,處理的表格種類更多等,這樣對識別及預(yù)處理的核心算法要求也提高了。手寫數(shù)字識別在郵件分揀中的應(yīng)用也十分廣泛,隨著人們生活水平的提高,經(jīng)濟活動的發(fā)展,通信聯(lián)系的需求使信函的互換量大幅度增加,我國函件業(yè)務(wù)量也在不斷增長,一些大城市的中心
16、郵局每天處理量將高達(dá)上千萬件,業(yè)務(wù)量的急劇上升使得郵件的分揀自動化成為大勢所趨。在郵件的自動分揀中,手寫數(shù)字識別往往與光學(xué)條碼識別(OBR-Optical Bar Reading),人工輔助識別等手段相結(jié)合,完成郵政編碼的閱讀。這就需要分揀機有一定的性能指標(biāo),差錯率要越小越好。1.4 課題整體結(jié)構(gòu)我們的思路是利用Matlab軟件建立一個手寫體數(shù)字識別系統(tǒng),利用三種方法實現(xiàn)圖像輸入的功能,然后對輸入的圖像進行預(yù)處理,分割,結(jié)構(gòu)特征提取,分類識別等操作,最終識別出圖像上的數(shù)字,如圖1-1。導(dǎo)入圖片邊緣提取Freeman編碼關(guān)鍵點特征提取參數(shù)測量計算面積圖1-1 識別的基本思路框架圖1.5 課題難點
17、分析數(shù)字的類別只有十種,筆劃又簡單,其識別問題似乎不是很困難。但事實上,一些測試結(jié)果表明,數(shù)字的正確識別率并不如印刷體漢字識別正確率高,甚至也不如聯(lián)機手寫體漢字識別率高,而只僅僅優(yōu)于脫機手寫體漢字識別。這其中主要原因是:數(shù)字的字形信息量很小,不同數(shù)字寫法相近,字形相差不大,使得準(zhǔn)確區(qū)分某些數(shù)字相當(dāng)困難;第二,數(shù)字雖然只有十種,而且筆劃簡單,但同一數(shù)字寫法千差萬別,全世界各個國家各個地區(qū)的人都用,其書寫上帶有明顯的區(qū)域特性,很難完全做到兼顧世界各種寫法的極高識別率的通用性數(shù)字識別系統(tǒng)。另外,在實際應(yīng)用中,對數(shù)字識別單字識別正確率的要求要比文字要苛刻得多。這是因為,數(shù)字沒有上下文關(guān)系,每個單字的識
18、別都事關(guān)重要,而且數(shù)字識別經(jīng)常涉及的財會、金融領(lǐng)域其嚴(yán)格性更是不言而喻的。因此,用戶的要求不是單純的高正確率,更重要的是極低的、千分之一甚至萬分之一以下的誤識率。此外,大批量數(shù)據(jù)處理對系統(tǒng)速度又有相當(dāng)?shù)囊?,許多理論上很完美但速度過低的方法是行不通的。因此,研究高性能的手寫數(shù)字識別算法是一個有相當(dāng)?shù)奶魬?zhàn)性的任務(wù)8。第二章 開發(fā)運行環(huán)境硬件環(huán)境:(1) 計算機一臺。(2) 攝像頭一個。軟件環(huán)境:(1)Windows XP 操作系統(tǒng)。(2)Matlab軟件。2.2.1 硬件部分介紹本課題中,我們所用到的硬件有攝像頭,攝像頭(CAMERA)又稱為電腦相機,電腦眼等,是一種視頻輸入設(shè)備,被廣泛的運用于
19、視頻會議,遠(yuǎn)程醫(yī)療及實時監(jiān)控等方面。普通人也可以彼此通過攝像頭在網(wǎng)絡(luò)進行有影像、有聲音的交談和溝通。另外,人們還可以將其用于當(dāng)前各種流行的數(shù)碼影像,影音處理9。在本實驗中,我們主要用它來進行手寫體數(shù)字圖像的輸入,即圖像的采集部分。攝像頭分為模擬攝像頭和數(shù)字?jǐn)z像頭兩大類。模擬攝像頭捕捉到的視頻信號必須經(jīng)過特定的視頻捕捉卡將模擬信號轉(zhuǎn)換成數(shù)字模式,并加以壓縮后才可以轉(zhuǎn)換到計算機上運用。數(shù)字?jǐn)z像頭則可以直接捕捉影像,然后通過串、并口或者USB 接口傳到計算機里。由于個人電腦的迅速普及,模擬攝像頭的整體成本較高等原因,現(xiàn)在電腦市場上的攝像頭基本以數(shù)字?jǐn)z像頭為主,而數(shù)字?jǐn)z像頭中又以使用新型數(shù)據(jù)傳輸接口的
20、 USB 數(shù)字?jǐn)z像頭為主。在本實驗中,我們就選擇使用了 USB 數(shù)字?jǐn)z像頭。這種攝像頭的工作原理大致為:景物通過鏡頭(LENS)生成的光學(xué)圖像投射到圖像傳感器表面上,然后轉(zhuǎn)為電信號,經(jīng)過 A/D(模數(shù)轉(zhuǎn)換)轉(zhuǎn)換后變?yōu)閿?shù)字圖像信號,再送到數(shù)字信號處理芯片(DSP)中加工處理,再通過 USB 接口傳輸?shù)诫娔X中處理,通過顯示器就可以看到圖像10。圖像解析度(Resolution)又名傳感器像素,是衡量攝像頭的一個重要指標(biāo)之一,攝像頭的像素越高,它的解析圖像的能力也越強,拍攝出來的圖像品質(zhì)就越好,我們選擇的這種 USB 數(shù)字?jǐn)z像頭的像素并不是特別高,只能勉強實現(xiàn)我們對實驗的要求,如果想進一步提高識別率
21、,一個更高像素的攝像頭可能對此有所幫助。另外,視頻捕獲能力也是用戶最為關(guān)心的功能之一,目前攝像頭的視頻捕獲都是通過軟件來實現(xiàn)的,在本實驗中,我們設(shè)置了根據(jù)秒數(shù)來自動截取圖片,這對電腦的要求非常高,即 CPU 的處理能力要足夠的快,其次對畫面也有要求,不同大小最大分辨率下的畫面,捕獲能力也不盡相同,我們選擇的這種 USB 數(shù)字?jǐn)z像頭的捕獲能力一般,勉強能夠?qū)崿F(xiàn)我們對實驗的要求,如果想要更高的識別率,可以選擇更好些的攝像頭甚至是工控攝像頭。2.2.2 軟件部分介紹本課題中,我們所用到的軟件是 Matlab,Matlab 是 MATrix LABoratory 的縮寫,它是一種科學(xué)計算軟件,專門以矩
22、陣的形式處理數(shù)據(jù)。Matlab 將高性能的數(shù)值計算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計工作,而且利用Matlab 產(chǎn)品的開放式結(jié)構(gòu),可以非常容易地對 Matlab 的功能進行擴充,從而在不斷深化對問題認(rèn)識的同時,完善 Matlab 產(chǎn)品以提高產(chǎn)品自身的競爭力11。Matlab 被稱作為第四代計算機語言,最大的特點就是簡潔,利用其豐富的函數(shù)資源,更符合人們思維習(xí)慣的代碼,帶來直觀的程序開發(fā)環(huán)境。Matlab 的主要特色如下12:(1)語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富;(2)運算符豐富;(3)既具有結(jié)構(gòu)化的控制
23、語句(如 for 循環(huán)、while 循環(huán)、break 語句和 if語句) ,又有面向?qū)ο缶幊痰奶匦?;?)語法限制不嚴(yán)格,程序設(shè)計自由度大;(5)程序的可移植性很好,基本上不做修改就可以在各種型號的計算機和操作系統(tǒng)上運行;(6)圖形功能強大;(7)包含功能強勁的工具箱。本試驗中,我們使用了 Matlab 圖形用戶界面(簡稱 GUI)設(shè)計主界面和子界面,優(yōu)化界面并實現(xiàn)主界面對子界面的調(diào)用,編寫界面的回調(diào)函數(shù)。系統(tǒng)界面設(shè)計布局采用自頂向下的設(shè)計方法,即先設(shè)計主界面再設(shè)計各個子界面。而各個回調(diào)函數(shù)側(cè)是采用自底向上的設(shè)計方法,即先設(shè)計各個子界面的回調(diào)函數(shù),再設(shè)計主界面的回調(diào)函數(shù)。本課題避開了硬件系統(tǒng)的
24、不足,巧妙的運用軟件來仿真硬件才能實現(xiàn)的實驗結(jié)果,大大降低了實驗設(shè)備要求,節(jié)約了人力和財力,而且有很多的庫函數(shù)可以在實驗時直接調(diào)用,避免了用硬件做實驗的局限性。根據(jù)國內(nèi)外優(yōu)秀的 GUI 技術(shù)應(yīng)用的成功經(jīng)驗,可以總結(jié)出近幾年的設(shè)計具備以下幾個最基本特點13:(1)技術(shù)上具有先進性、高效性、實用性、安全性;(2)數(shù)據(jù)管理功能完善,數(shù)據(jù)的采集、處理、發(fā)布過程中不會出現(xiàn)數(shù)據(jù)丟失、改變的問題;(3)界面友好,操作簡便,使用統(tǒng)一的瀏覽器界面;(4)自動化程度高,結(jié)構(gòu)設(shè)計簡單;(5)模塊化設(shè)計,易于擴充功能;(6)產(chǎn)品設(shè)計靈活;(7)投資少,最大限度保護用戶的投資。第三章 手寫體數(shù)字識別系統(tǒng)構(gòu)成及原理3.1
25、 圖像處理基礎(chǔ)知識圖像處理(image processing),是指用計算機對圖像進行分析,以達(dá)到所需結(jié)果的技術(shù),又稱影像處理,一般指的是數(shù)字圖像處理14。數(shù)字圖像是指用數(shù)字?jǐn)z像機、掃描儀等設(shè)備經(jīng)過采樣和數(shù)字化得到的一個大的二維數(shù)組,該數(shù)組的元素稱為像素,其值為一整數(shù),稱為灰度值。圖像處理技術(shù)的主要內(nèi)容包括圖像壓縮,增強和復(fù)原,匹配、描述和識別這幾個部分。其中,常見的處理有圖像數(shù)字化、圖像編碼、圖像增強、圖像復(fù)原、圖像分割和圖像分析等。圖像數(shù)字化指的是通過取樣和量化過程將一個以自然形式存在的圖像變換為適合計算機處理的數(shù)字形式。圖像在計算機內(nèi)部被表示為一個數(shù)字矩陣,矩陣中每一元素稱為像素。圖像數(shù)
26、字化需要專門的設(shè)備,常見的有各種電子的和光學(xué)的掃描設(shè)備,還有機電掃描設(shè)備和手工操作的數(shù)字化儀。在本文中,我們就是利用USB攝像頭將圖像數(shù)字化。圖像編碼是對圖像信息編碼,以滿足傳輸和存儲的要求。編碼能壓縮圖像的信息量,但圖像質(zhì)量幾乎不變。圖像增強的目標(biāo)是改進圖片的質(zhì)量,例如增加對比度,去掉模糊和噪聲,修正幾何畸變等;圖像復(fù)原是在假定已知模糊或噪聲的模型時,試圖估計原圖像的一種技術(shù)。圖像分割是將圖像劃分為一些互不重疊的區(qū)域,每一區(qū)域是像素的一個連續(xù)集。通常采用把像素分入特定區(qū)域的區(qū)域法和尋求區(qū)域之間邊界的境界法。區(qū)域法根據(jù)被分割對象與背景的對比度進行閾值運算,將對象從背景中分割出來。有時用固定的閾
27、值不能得到滿意的分割,可根據(jù)局部的對比度調(diào)整閾值,這稱為自適應(yīng)閾值。境界法利用各種邊緣檢測技術(shù),即根據(jù)圖像邊緣處具有很大的梯度值進行檢測。這兩種方法都可以利用圖像的紋理特性實現(xiàn)圖像分割。圖像分析是指從圖像中抽取某些有用的度量、數(shù)據(jù)或信息。圖像匹配、描述和識別是對圖像進行比較和配準(zhǔn),通過提取圖像的特征及相互關(guān)系,得到圖像符號化的描述,再把它同模型比較,以確定其分類。圖像匹配試圖建立兩張圖片之間的幾何對應(yīng)關(guān)系,度量其類似或不同的程度。Matlab圖像處理是指計算機采用Matlab處理圖形圖像的技術(shù)。Matlab中的一幅圖像可能包含一個數(shù)據(jù)矩陣,也可能包含一個顏色映射表矩陣,它包含4種基本的圖像類型
28、:索引圖像、灰度圖像、RGB圖像和二值圖像。此外,Matlab還支持由多幀圖像組成的圖像序列15。(1)索引圖像索引圖像是一種把像素值直接作為RGB調(diào)色板下標(biāo)的圖像。索引圖像可把像素值直接映射為調(diào)色板數(shù)值。調(diào)色板通常與索引圖像存儲在一起,裝載圖像時,調(diào)色板將和圖像一同自動裝載。索引圖像包括一個數(shù)據(jù)矩陣A,一個顏色映射矩陣B。其中B是一個包含3列和若干行的數(shù)據(jù)陣列。B矩陣的每一行分別表示紅色、綠色和藍(lán)色的顏色值。在Matlab中,索引圖像是從像素值到顏色映射表值的直接映射。像素顏色由數(shù)據(jù)矩陣A作為索引指向矩陣B進行索引。(2)灰度圖像灰度數(shù)字圖像是每個像素只有一個采樣顏色的圖像,這類圖像通常顯示
29、為從最暗的黑色到最亮的白色的灰度,盡管理論上這個采樣可以用于任何顏色的不同深淺,甚至可以是不同亮度上的不同顏色。Matlab中,一幅灰度圖像是一個數(shù)據(jù)矩陣I,其中I的數(shù)據(jù)均代表了在一定范圍內(nèi)的顏色灰度值。Matlab把灰度圖像存儲為一個數(shù)據(jù)矩陣,該數(shù)據(jù)矩陣中的元素分別代表了圖像中的像素。矩陣中的元素可以是雙精度的浮點數(shù)類型、8位或16位無符號的整數(shù)類型。大多數(shù)情況下,灰度圖像很少和顏色映射表一起保存。但是在顯示灰度圖像時,Matlab仍然在后臺使用系統(tǒng)預(yù)定義的默認(rèn)的灰度顏色映射表。(3)二值圖像二值圖像是指每個像素不是黑就是白,其灰度值沒有中間過渡的圖像。與灰度圖像相同,二值圖像只需要一個數(shù)據(jù)
30、矩陣,每個像素只取兩個灰度值。二值圖像可以采用uint和double類型存儲,工具箱中以二值圖像作為返回結(jié)果的函數(shù)都使用uint類型。(4)RGB圖像RGB圖像,即真彩色圖像,在Matlab中存儲為nXmX3的數(shù)據(jù)矩陣。數(shù)組中的元素定義了圖像中每一個像素的紅、綠、藍(lán)顏色值。需要指出的是,RGB圖像不使用Windows顏色映射表。像素的顏色保存在像素位置上的紅、綠、藍(lán)的強度值的組合來確定。圖像文件格式把RGB圖像存儲為24位的圖像,紅、綠、藍(lán)分別占8位。這樣可以有約1000萬種顏色。手寫體數(shù)字識別系統(tǒng)結(jié)構(gòu)圖如圖3-1所示。攝像頭輸入寫字板直接讀圖預(yù)處理(計算數(shù)據(jù)大小、灰度、全局闕值選取、二值化、
31、刪除小面積圖形)圖像分割特征提取分類識別以 TXT 格式輸出圖3-1 手寫體數(shù)字識別系統(tǒng)結(jié)構(gòu)圖其中三個模塊的輸入部分以及部分輸出部分的具體設(shè)計將會在下一章中提到。當(dāng)今手寫體數(shù)字識別的應(yīng)用需求越來越廣泛,在財務(wù)、稅務(wù)、金融方面具有不可替代的作用,因此手寫體數(shù)字識別系統(tǒng)應(yīng)具有很高的識別正確率,對環(huán)境光照條件、手寫規(guī)范等因素的影響應(yīng)有較大的容閾,并且要求滿足實時性要求16。該系統(tǒng)是計算機圖像處理與字符識別技術(shù)在手寫體數(shù)字識別系統(tǒng)中的應(yīng)用,它主要由手寫體數(shù)字圖像的采集和預(yù)處理、手寫體數(shù)字圖像的定位和提取、手寫體數(shù)字的分割和識別等幾個部分組成。為了研究圖像內(nèi)容的識別,首先要對獲得的圖像信息進行預(yù)處理,濾
32、去干擾、噪聲,當(dāng)信息微弱無法辨識時,還須對圖像進行增強處理,顏色校正等,以便人、機分析17。在本系統(tǒng)中,我們設(shè)計的這個部分主要由計算數(shù)據(jù)大小,灰度,全局圖像閾值選取,二值化,刪除小面積圖形等過程組成。(1)計算數(shù)據(jù)大小計算數(shù)據(jù)大小的函數(shù)為 size,函數(shù)公式以及具體解析如下:d = size(X) 返回數(shù)組 X 每一維的大小 。m,n = size(X) 返回矩陣 X 的行列,當(dāng) X 是一個大于二維的數(shù)組時,m 是第一維的大小,n返回其他維相乘。m = size(X,dim) 返回 X 數(shù)組第 dim 維的大小。d1,d2,d3,dn = size(X) 返回 X 數(shù)組每一維的大小到 d1,d
33、2,d3,dn。(2)灰度灰度是指灰度圖的轉(zhuǎn)換,利用 rgb2gray 函數(shù),將 RGB 圖形或色圖矩陣轉(zhuǎn)換成灰度圖18。對于將彩色圖像轉(zhuǎn)換成灰度圖像時,圖像灰度值可由下面的公式計算:gray = 0.2989 * R + 0.5870 * G + 0.1140 * B 注:原始圖像可以是 Matlab 可以處理的圖像格式。I = rgb2gray(RGB) 將真彩色圖像 RGB 轉(zhuǎn)換成灰度圖像 I。rgb2gray 刪除圖像中的色調(diào)和飽和度信息,而保留亮度信息,從而將 RGB 圖像轉(zhuǎn)換為灰度圖。newmap = rgb2gray(map) 返回與色圖 map 相對應(yīng)的灰度色圖。注意:如果函數(shù)
34、的輸入是一個 RGB 圖像,則它可以是 unit8、uint16、single或 double 類型。輸出的圖像 I 的數(shù)據(jù)與輸入的圖像是相同類型的數(shù)據(jù)。如果輸入的是色圖,則輸入和輸出都是 double 類型的。rgb2gray 測試:I = imread(chuli.jpg); J = rgb2gray(I); %將圖片轉(zhuǎn)為灰度圖并且保存到 J 當(dāng)中。Figure %打開新的作圖窗口。imshow(I) %顯示轉(zhuǎn)換前的彩色圖。figure; %打開新的作圖窗口。imshow(J); %顯示轉(zhuǎn)換后的灰度圖 J。測試結(jié)果如圖:圖 3-2 原始圖像 圖 3-3 灰度圖像(3)全局圖像閾值選取全局圖
35、像閾值選取的函數(shù)為 graythresh,函數(shù)功能為使用大津法進行全局圖像閾值選取。函數(shù)公式以及具體解析如下:level = graythresh(I) 計算全局閾值(level),該閾值可以用在將強度圖像轉(zhuǎn)換為二進制圖像的函數(shù) im2bw 中。level 是在0,1內(nèi)歸一化的強度值。函數(shù) graythresh 選擇使黑白像素類內(nèi)方差最小的閾值。 多維矩陣被 reshape 自動轉(zhuǎn)換為二維矩陣。函數(shù) graythresh 忽略 I 的所有非零虛部。level EM = graythresh(I) 返回效力矩陣 EM 作為第二個輸出變量。效力矩陣是0 1范圍內(nèi)的值,指示輸入圖像閾值選取的有效性。
36、只有單一灰度值的圖像 0,只有兩個灰度值的圖像1。(4)二值化將圖像轉(zhuǎn)換為基于閾值的二進制圖像的函數(shù)為 im2bw,函數(shù)公式以及具體解析如下:BW = im2bw(I,level) 將灰度圖像 I 轉(zhuǎn)換為二進制圖像。輸出圖像 BW 將輸入圖像中亮度值大于 level 的像素替換為值 1 (白色),其他替換為值 0(黑色)。你指定 level 在 0,1之間, 不用管輸入圖像的等級。函數(shù) graythresh 能用來自動計算變量 level 。如果你不指定 level ,im2bw 使用 0.5。 BW = im2bw(X, map, level) 將顏色表為 map 的索引圖像 X 轉(zhuǎn)換為二進
37、制圖像。 BW = im2bw(RGB, level) 將 RGB 真彩圖像轉(zhuǎn)換為二進制圖像。 注:如果輸入圖像不是灰度圖像, im2bw 首先將圖像轉(zhuǎn)換為灰度圖像,然后通過閾值將灰度圖像轉(zhuǎn)換成二進制圖像。im2bw 測試:A = imread(1.jpg);B = im2bw(A);figure;imshow(A)figure;imshow(B);測試結(jié)果如圖:圖 3-4 灰度圖像 圖 3-5 二值化圖像(5)刪除小面積圖形刪除小面積圖形的函數(shù)為 bwareaopen,函數(shù)公式以及具體解析如下:格式:BW2 = bwareaopen(BW,P,conn) 作用:刪除二值圖像 BW 中面積小于
38、 P 的對象,默認(rèn)情況下 conn 使用 8 鄰域,這個部分其實就是去噪,根據(jù)設(shè)置的 P 的大小,去除圖像上的雜點。 算法: A. Determine the connected components. L = bwlabeln(BW, conn); B. Compute the area of each component. S = regionprops(L, Area); C. Remove small objects. bw2 = ismember(L, find(S.Area = P); 功能:用于從對象中移除小對象。 用法:BW2 = bwareaopen(BW,P) BW2 =
39、bwareaopen(BW,P,CONN) BW2 = bwareaopen(BW,P,CONN)從二值圖像中移除所有小于P的連通對象。CONN對應(yīng)鄰域方法,默認(rèn)為8。圖像分割就是把圖像分成若干個特定的、具有獨特性質(zhì)的區(qū)域并提出感興趣目標(biāo)的技術(shù)和過程。它是由圖像處理到圖像分析的關(guān)鍵步驟,它是一種重要的圖像技術(shù),在理論研究和實際應(yīng)用中都得到了人們的廣泛重視。圖像分割的方法和種類有很多,有些分割運算可直接應(yīng)用于任何圖像,而另一些只能適用于特殊類別的圖像。有些算法需要先對圖像進行粗分割,因為他們需要從圖像中提取出來的信息。例如,可以對圖像的灰度級設(shè)置門限的方法分割。值得提出的是,沒有唯一的標(biāo)準(zhǔn)的分割
40、方法。許多不同種類的圖像或景物都可作為待分割的圖像數(shù)據(jù),不同類型的圖像,已經(jīng)有相對應(yīng)的分割方法對其分割,同時,某些分割方法也只是適合于某些特殊類型的圖像分割。分割結(jié)果的好壞需要根據(jù)具體的場合及要求衡量。圖像分割是從圖像處理到圖像分析的關(guān)鍵步驟,可以說,圖像分割結(jié)果的好壞直接影響對圖像的理解。人們通常將圖像分割的方法歸納為基于灰度直方圖的閾值化方法和基于區(qū)域增長法兩大類。其中閾值化方法因其簡單、計算量小、性能較穩(wěn)定而成為圖像分割中應(yīng)用最廣泛的分割技術(shù)19。閾值分割方法中對灰度圖像的取閾值分割就是先確定一個處于圖像灰度取值范圍之中的灰度閾值,然后將圖像中各個像素的灰度值都與這個閾值相比較,并根據(jù)比
41、較結(jié)果將對應(yīng)的像素分為兩類。這兩類像素一般分屬圖像的兩類區(qū)域,從而達(dá)到分割的目的。從該方法中可以看出,確定一個最優(yōu)閾值是分割的關(guān)鍵?,F(xiàn)有的大部分算法都是集中在閾值確定的研究上。閾值分割方法根據(jù)圖像本身的特點,可分為單閾值分割方法和多閾值分割方法;也可分為基于像素值的閾值分割方法、基于區(qū)域性質(zhì)的閾值分割方法和基于坐標(biāo)位置的閾值分割方法。若根據(jù)分割算法所有的特征或準(zhǔn)則,還可以分為直方圖與直方圖變換法、最大類空間方差法、最小誤差法與均勻化誤差法、共生矩陣法、最大熵法、簡單統(tǒng)計法與局部特性法、概率松馳法、模糊集法、特征空間聚類法、基于過渡區(qū)的閾值選取法等。圖像特征抽取是指在需要識別的物體被分割出來的基
42、礎(chǔ)上,提取需要的特征,并對某些參數(shù)進行計算、測量,根據(jù)測量結(jié)果進行分類。這一過程輸入是龐大的信息圖像,輸出則是少量的特征信息,而且這些特征信息僅僅代表物體,無法還原回原物體。特征提取是計算機視覺和圖像處理中的一個概念。它指的是使用計算機提取圖像信息,決定每個圖像的點是否屬于一個圖像特征。特征提取的結(jié)果是把圖像上的點分為不同的子集,這些子集往往屬于孤立的點、連續(xù)的曲線或者連續(xù)的區(qū)域。特征提取是圖象處理中的一個初級運算,也就是說它是對一個圖像進行的第一個運算處理。它檢查每個像素來確定該像素是否代表一個特征。假如它是一個更大的算法的一部分,那么這個算法一般只檢查圖像的特征區(qū)域。作為特征提取的一個前提
43、運算,輸入圖像一般通過高斯模糊核在尺度空間中被平滑。此后通過局部導(dǎo)數(shù)運算來計算圖像的一個或多個特征。特征提取的目的是從原始數(shù)據(jù)中抽取出用于區(qū)分不同類型的本質(zhì)特征。無論是識別過程還是學(xué)習(xí)過程,都要對研究對象固有的、本質(zhì)的重要特征或?qū)傩赃M行量測并將結(jié)果數(shù)值化,形成特征矢量20。通常能描述對象的元素很多,為了節(jié)約資源,節(jié)省計算機存儲空間、處理時間、特征提取的費用,有時更是為了可行性,在保證滿足分類識別正確率要求的條件下,按某種準(zhǔn)則盡量選用對正確分類識別作用較大的特征,使得用較少的特征就能完成分類識別任務(wù)。這項工作表現(xiàn)為減少特征矢量的維數(shù)或符號字符數(shù)。圖像分類指的是根據(jù)提取的特征值,利用模式識別的方法
44、進行分類,確定類別名稱,以便對圖像的重要信息得到一種理解和解釋。這一過程輸入的是特征信息,輸出是類別名稱21。識別的代碼如下:for n=1:shuzis shuzidb=corr2(templates1,n,tupian1); %計算兩個矩陣的2維相關(guān)系數(shù)。 shuzijz=shuzijz shuzidb;endvd=find(shuzijz=max(shuzijz);代碼的意義是計算兩個矩陣的2維相關(guān)系數(shù),相關(guān)系數(shù)最大的就是所識別的結(jié)果。第四章 手寫體數(shù)字識別系統(tǒng)設(shè)計分析本次設(shè)計使用 Matlab 語言實現(xiàn)該系統(tǒng),其用戶界面分別介紹如下。4.1 程序主界面程序的主界面如下,功能主要分為三個
45、模塊,分別為攝像頭輸入模塊、直接讀取圖片模塊以及寫字板輸入模塊,另外,右下角還有個退出的按鈕,如圖4.1。圖4-1 手寫體數(shù)字識別系統(tǒng)的主界面在程序主界面上,界面設(shè)計的代碼如下:ha=axes(units,normalized,position,0 0 1 1);uistack(ha,down)II=imread(Beijingtupianshouxieshuzishibiejmbj.jpg);image(II)colormap grayset(ha,handlevisibility,off,visible,off);I=imread(Beijingtupianshouxieshuzishib
46、iejman1.jpg);J=imread(Beijingtupianshouxieshuzishibiejman2.jpg);K=imread(Beijingtupianshouxieshuzishibiejman3.jpg);L=imread(Beijingtupianshouxieshuzishibiejman4.jpg);set(handles.pushbutton1,cdata,I);set(handles.pushbutton2,cdata,J);set(handles.pushbutton3,cdata,K);set(handles.pushbutton4,cdata,L);以上
47、包括了主界面的背景圖片以及主界面按鈕的背景圖片的關(guān)聯(lián)等。設(shè)計時候的原始界面如圖 4.2:圖4-2 手寫體數(shù)字識別系統(tǒng)的原始界面push button1set(gcf,visible,off);zjdqtppush button 2 2.5*1 set(gcf,visible,off);sxtpush button 3 2.5*1 set(gcf,visible,off);xzbpush button4 %退出 大小為 2*1close(gcf);以上是 4 個按鈕的功能,大小,字體等設(shè)置。另外,在界面的左上角有幾組下拉菜單,主界面的下拉菜單如圖 4.3 所示,內(nèi)容包括幫助以及退出,另外三個下拉
48、菜單的內(nèi)容是三個模塊的功能。而各個分界面下的菜單如如 4.4 所示,菜單下的內(nèi)容包括返回以及退出,另外兩個下拉菜單的內(nèi)容是其他兩個模塊的功能。圖4-3 主界面的下拉菜單 圖4-4 分界面下的下拉菜單4.2 基準(zhǔn)庫的選擇與建立手寫數(shù)字的寫法帶有明顯的地區(qū)性和民族性,因而選擇一個可供系統(tǒng)訓(xùn)練和測試使用的樣本庫是手寫數(shù)字識別研究的重要基礎(chǔ)之一,對識別系統(tǒng)的性能也有重要的影響。研究者對所需的樣本庫有兩種選擇:一是自己根據(jù)需要建立專門的樣本庫,二是選用其它機構(gòu)做好的現(xiàn)成的樣本庫。前者的優(yōu)點是帖近自己的應(yīng)用,缺點也是明顯的:要費相當(dāng)?shù)木η掖硇院茈y保證,與其它人的結(jié)果不好比較。因此,現(xiàn)在的趨勢是使用有權(quán)
49、威性的通用樣本庫。目前,比較有代表性的、樣本數(shù)量較大的手寫數(shù)字樣本庫有:(1).NIST 數(shù)據(jù)庫,由美國國家標(biāo)準(zhǔn)與技術(shù)局收集;(2).CEDAR 數(shù)據(jù)庫,是由紐約州立大學(xué) Buffalo 分校計算機科學(xué)系文本分析與識別中完成的郵政編碼的樣本庫;(3).ETL 數(shù)據(jù)庫,由日本電工技術(shù)研究所收集;(4). ITPT 數(shù)據(jù)庫, 由日本郵電通信政策研究所收集。在本文中,我們根據(jù)自己需要所建立了專門的樣本庫,具體建立方法如下:設(shè)置不同字體,大小,線條粗細(xì)的 0-9 的數(shù)字圖片共計 120 張,用來建立樣本,作為基準(zhǔn)庫,如圖 4.5。在實驗的過程中,我們還可以根據(jù)手寫體數(shù)字的樣式,來添加樣本,充實基準(zhǔn)庫。
50、圖4-5 手寫體數(shù)字識別系統(tǒng)的基準(zhǔn)庫4.3 手寫體數(shù)字識別系統(tǒng)設(shè)計4.3.1 攝像頭輸入模塊的設(shè)計點擊主界面中的攝像頭輸入按鈕,進入利用攝像頭輸入的數(shù)字識別,如圖4.6。識別的具體過程為點擊界面上的視頻輸入按鈕,即可出現(xiàn)裝載攝像頭的界面,如圖 4.7。同時,界面左邊的空白處,也會出現(xiàn)相同的圖像,如圖 4.8。此時,如果點擊視頻輸入按鈕下面的自動截取按鈕,視頻輸入在界面中的畫面就會按照規(guī)定的時間間隔進行截取,比如程序設(shè)定是 5 秒進行一次截取,畫面就會固定在視頻輸入后的 5 秒的圖像上,進行截取,然后輸出。另外,還有一種方法是手動輸入,即是自己調(diào)整攝像頭輸入的畫面,覺得足夠完整、清晰的時候,點擊
51、保存按鈕,畫面就會固定在點擊按鈕的那一刻,接著點擊手動輸出,即可輸出固定下來的畫面中手寫體數(shù)字。圖 4-6 利用攝像頭輸入的手寫體數(shù)字識別界面 圖 4-7 攝像頭攝入畫面圖4-8 利用攝像頭輸入的手寫體數(shù)字識別讀圖過程以及結(jié)果在利用攝像頭輸入的手寫體數(shù)字識別界面上,視頻輸入、手動輸入的代碼如下:clc;clear;global sph = waitbar(0.1,請稍等.);%顯示等待條sp = videoinput(winvideo,1,YUY2_320 x240);%攝像頭 = videoinput(適配器名稱, 設(shè)備號) baocun = uicontrol(Style, pushbut
52、ton,. String, 保存,. Position, 10 200 40 20,. Callback, baocuntupian)set(sp,TriggerRepeat,Inf);set(sp,ReturnedColorSpace,rgb);waitbar(0.8,h,請稍等.);close(h);preview(sp); %創(chuàng)建一個視頻預(yù)覽窗口的視頻顯示現(xiàn)場視頻數(shù)據(jù)輸入對象set(sp,ReturnedColorSpace,rgb);data = getsnapshot(sp); % 捕獲圖像,設(shè)置成 rgbimshow(data);自動截取部分的代碼如下:global vid;glo
53、bal q1;period=str2num(get(q1,string)global t;t = timer(TimerFcn, timerCallback, ExecutionMode, fixedDelay, Period, period);start(t);4.3.2 直接讀圖模塊的設(shè)計點擊主界面中的讀取圖片按鈕,進入直接讀圖的手寫體數(shù)字識別,如圖4.9。識別的具體過程為點擊界面上的讀取圖片按鈕,選取以前設(shè)置好的被掃描進電腦的手寫體數(shù)字圖片,單擊打開,如圖 4.10。圖 4-9 直接讀圖的手寫體數(shù)字識別界面 圖 4-10 直接讀圖的手寫體數(shù)字識別讀圖過程最后點擊右邊的圖片識別按鈕即可識別
54、出數(shù)字, 。圖 4-11 直接讀圖的手寫體數(shù)字識別讀圖結(jié)果在直接讀圖的手寫體數(shù)字識別界面上,左邊空白部分的代碼如下:set(gca,XColor,get(gca,Color)set(gca,YColor,get(gca,Color)set(gca,XTickLabel,)set(gca,YTickLabel,)它代表的意思是將坐標(biāo)軸去掉,實現(xiàn)那一部分的空白。讀取圖片按鈕的代碼如下:filename, pathname = uigetfile(*.jpg;*.bmp;*.gif;*.*, yangbentupian);S = imread(pathname,filename);axes(hand
55、les.axes1);imshow(S);str=shengchengwenjianzjdqtpsctp;str=strcat(str,.jpg);imwrite(S,str,jpg);它代表的意思是讀取圖片,并且插入到左邊的空白處。圖片識別按鈕的代碼如下:zjdqtpsb()edit1 = load(shengchengwenjianzjdqtpsbscwb.txt) str = mat2str(edit1);strset(handles.edit1,STRING,str);它代表的意思是首先調(diào)用識別程序進行識別,然后將識別出來的 TXT 文件中的內(nèi)容傳入到 edit1 中,即右邊空白處。4
56、.3.3 寫字板輸入模塊的設(shè)計點擊主界面中的寫字板輸入按鈕,進入利用寫字板輸入的數(shù)字識別,如圖4.12。識別的具體過程為單擊界面左邊空白處,拉動鼠標(biāo)不松左鍵,即可在寫字板上進行手寫體數(shù)字的輸入,如圖 4-13。在程序的下方有五個按鈕,按照各自的名稱,分別代表著擦除寫字板上的所有內(nèi)容,保存寫字板上的內(nèi)容,顯示手寫體數(shù)字識別的結(jié)果,返回以及退出。圖 4-12 利用寫字板輸入的手寫體數(shù)字識別 圖 4-13 識別過程以及結(jié)果自制的寫字板代碼如下:function shubiaogensui(dongz)global x y x0 y0if nargin = 0, dongz = start; ends
57、witch(dongz) case start, axis(0.1 110 0 110); set(gcf, WindowButtonDownFcn, shubiaogensui down); case down, set(gcf, WindowButtonMotionFcn, shubiaogensui move); set(gcf, WindowButtonUpFcn, shubiaogensui stop); dianji = get(gca, CurrentPoint); x0 = dianji(1,1); y0 = dianji(1,2); case move, dianji = g
58、et(gca, CurrentPoint); x = dianji(1,1); y = dianji(1,2);%y=kx+b 直線方程實現(xiàn)。 x_zl=0.1 ;y_zl=0.1 ;%定義 xy 方向增量 if xx0 yidong_x=x_zl; else yidong_x=-x_zl; end if yy0 yidong_y=y_zl; else yidong_y=-y_zl; end X=x0:yidong_x:x ; %定義 x 的變化 %定義 y 的變化 if abs(x-x0)0.01 %直線平行于 y 軸 Y=y0:yidong_y:y; %斜率不存在時,y 值固定 else
59、Y=(y-y0)*(X-x0)/(x-x0)+y0; %當(dāng)斜率存在,k=(y-y0)/(x-x0)=0 end line( X ,Y, marker, .,markerSize,30, LineStyle,-,LineWidth,4,Color,black); x0=x;y0=y; %記住當(dāng)前點坐標(biāo) case stop, set(gcf, WindowButtonMotionFcn, );end這段代碼所實現(xiàn)的功能是鼠標(biāo)跟隨,即單擊左鍵,會進行鼠標(biāo)更隨,松開左鍵,會釋放更隨命令。另外,line( X ,Y, marker, .,markerSize,30, LineStyle,-,LineWi
60、dth,4,Color,black); 這行代碼,設(shè)置了鼠標(biāo)跟隨功能里的兩個標(biāo)記,一個是代碼 30的點標(biāo)記,一個是代碼為 4 的線標(biāo)記,字色是黑色,這個設(shè)置實現(xiàn)了手寫體數(shù)字在寫字板上的書寫。最后,在寫字板輸入的過程中,還需要保存手寫出的圖片,然后才能進行識別,具體流程如圖 4.14 所示: 手寫數(shù)字單擊保存按鈕選擇保存路徑顯示結(jié)果返回或者退出擦除圖4-14 寫字板輸入的流程圖保存部分的代碼如下:FileName,PathName = uiputfile(*.jpg,JPEG(*.jpg);. *.bmp,Bitmap(*.bmp);. *.gif,GIF(*.gif);. *.*, All F
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)培訓(xùn)課件分類
- 營養(yǎng)師實操題
- 油漆工藝危險源辨識與風(fēng)險評價信息表
- 英語單詞大全3500
- 跨國公司內(nèi)部股權(quán)調(diào)整與員工持股計劃協(xié)議
- 電力采購合同談判與電力市場改革政策適應(yīng)
- 醫(yī)院裝修技術(shù)方案文本
- 樓盤研發(fā)方案
- 知識產(chǎn)權(quán)孵化器廠房轉(zhuǎn)租及知識產(chǎn)權(quán)運營合同
- 正規(guī)公司稅務(wù)運作方案
- 吉大工程熱力學(xué)課件第1章 基本概念及定義
- 2025至2030年中國石晶地板行業(yè)市場現(xiàn)狀調(diào)查及投資前景研判報告
- 2025-2030中國寵物醫(yī)療保險行業(yè)競爭狀況與需求趨勢預(yù)測報告
- 帶鋼熱軋智能控制系統(tǒng)
- 2024年安徽蕪湖一中自主招生考試數(shù)學(xué)試卷真題(含答案詳解)
- 2024年重慶三峰環(huán)境集團股份有限公司招聘筆試真題
- 寺廟人員組織管理制度
- 情侶共同存錢協(xié)議書
- DB65∕T 3952-2016 反恐怖防范設(shè)置規(guī)范 學(xué)校
- 科研助理合同協(xié)議書
- 患者身份識別制度培訓(xùn)
評論
0/150
提交評論