freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-文庫(kù)吧資料

2024-12-14 02:23本頁(yè)面
  

【正文】 map //bitmap類(lèi)成員對(duì)象指針 VVin32 SDK使用句柄來(lái)表示操作內(nèi)存對(duì)象,因此,這里也定義了一個(gè) DIB句柄來(lái)表示 DIB的內(nèi)存數(shù)據(jù)塊 : define HDIB HANDLE HDIB 定義為存儲(chǔ) BITMAPINFO結(jié)構(gòu)和位圖位數(shù)數(shù)據(jù)塊的內(nèi)存句柄,用 GlobalLock鎖定 HDIB得到 DIB數(shù)據(jù)塊的地址指針,并可將該指針強(qiáng)制為 LPBITMAPINF()或LPBITMAPINFOHEADER來(lái)使用,如 HDIB hDIB LPBITMAPINFO lpbi。如果從 CObject類(lèi)來(lái)派生,則可以繼承該類(lèi)的這種特性。 MFC中的 CObject類(lèi)是 MFC中其他大多數(shù)類(lèi)的基類(lèi)。但是這樣做有諸多的不適,首先, CBitmap類(lèi)是為 DDB的操作而設(shè)計(jì)的,其中沒(méi)有處理 DIB的功能,故 CDib類(lèi)不能從中繼承任何可用的功能;其次, CBitmap類(lèi)是從 CGdiObject中派生出來(lái)的, CBitmap類(lèi)以及它從 CGdiObject類(lèi)繼承來(lái)的數(shù)據(jù)成員和功能函數(shù)對(duì) CDib來(lái)說(shuō)都是不合適的,也是多余的。 ( 6)能獲取 DIB位圖數(shù)據(jù)的句柄并且生成 DIB數(shù)據(jù)的拷貝。 ( 4) 提供 DIB的空間、顏色和格式特征等信息。 ( 2) DIB文件的 讀寫(xiě)操作。對(duì)于 C++程序而言,設(shè)計(jì)孤立的類(lèi)比較容易,難的是正確設(shè)置其基類(lèi)及派生類(lèi)。在構(gòu)造自己的 CDib類(lèi)時(shí),也要以這些函數(shù)和功能為基礎(chǔ)。但是 Win32 SDK中的 DIB API函數(shù)是定義 DIB處理函數(shù)集的基礎(chǔ),基于 VC++的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 21 因此,還是要分析 Win32 SDK中的 DIB API函數(shù),如表 。由 MFC中沒(méi)有設(shè)計(jì)一處理 DIB位圖的類(lèi),因此,利用 Visual C++進(jìn)行 DIB位圖編程時(shí)只能使用“非面向?qū)ο蟆钡姆椒?,即直接調(diào)用 Win32 SDK的有關(guān) API函數(shù),這是一個(gè)很大的缺陷,彌補(bǔ)的最好方法就是定義一個(gè)處理 DIB位圖的專(zhuān)用類(lèi),比如一個(gè)名為 CDib的類(lèi),在其中封裝必需的 DIB數(shù)據(jù)成員和處理函數(shù)。第四部分就是實(shí)際的圖像數(shù)據(jù)。第二部分為位圖信息 BITMAPINFOHEADER,其中說(shuō)明了位圖包含的基本信息,如大小,寬度,高度,顏色位數(shù),水平和垂直分辨率等 。因此要表示灰度圖,就需要把亮度值進(jìn)行量化,通常劃分成 0到 255共 256個(gè)級(jí)別, 0最暗 (全黑 ), 255最亮 (全白 ),并將所有灰度圖像轉(zhuǎn)化為 DIB(DeviceIndependent Bitmap設(shè)備無(wú)關(guān)位圖 )位圖文件格式。 BMP 圖像格式簡(jiǎn)介 程序中能夠進(jìn)行處理的是灰度圖像。 MFC庫(kù)提供了自動(dòng)消息處理功能。包括窗口函數(shù)、消息、控件、菜單、對(duì)話(huà)框、 GDI對(duì)象、對(duì)象鏈接,以及多文檔界面等。而 C++編程方式代碼運(yùn)行效率相對(duì)較低,其開(kāi)發(fā)難度小、開(kāi)發(fā)工作量小、源代碼效率高,尤其 Microsoft基礎(chǔ)類(lèi)庫(kù)( Microsoft Foundation Class Library,MFC)為用戶(hù)提供了 Windows95/NT環(huán)境下面向?qū)ο蟮某绦蜷_(kāi)發(fā)界面,它提供了大量預(yù)先編寫(xiě)好的類(lèi)及支持代碼,用于處理多數(shù)標(biāo)準(zhǔn) Windows編程任務(wù),因此大大簡(jiǎn)化了 Windows應(yīng)用程序編寫(xiě)工作。利用 VisualC++ Win32應(yīng)用程序,一種方式是基于 Windows API的 C編程方式,另一種是基于 MFC的 C++編程方式。 圖 41 系統(tǒng)邏輯模型流程 圖 此圖為系統(tǒng)邏輯模型流程圖,其中細(xì)箭頭代表程序的進(jìn)程,整個(gè)程序就是按上圖所示流程編寫(xiě)的。 本文程序設(shè)計(jì)采用逐步求精法,將整個(gè)系統(tǒng)問(wèn)題分割成若干個(gè)子問(wèn)題來(lái)做,主要包括圖像數(shù)據(jù)輸入模塊 GetDIB()、二值化模塊 Threshold()、平滑濾波模塊 Smooth()、分割模塊 divide()、字符切分模塊 CharSegment()、字符識(shí)別模塊 CharRecognition()。但是當(dāng)前軟件開(kāi)發(fā)中更為流行和常用的方法是逐步求精法。 基于 VC++的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 19 第 4 章數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 幾種常用的解決問(wèn)題的軟件開(kāi)發(fā)方法,一種是對(duì)問(wèn)題追述的方法,也就是從問(wèn)題的結(jié)果分析起一步一步找到問(wèn)題的源頭。因?yàn)樵摵瘮?shù)的中間高增益區(qū)解決了處理小信號(hào)的間題,而在伸向兩邊的低增益區(qū)正好適用于處理大信號(hào) 的輸入。當(dāng)輸入由無(wú)窮增大到零時(shí),其增益由 0增至最大,然后當(dāng)輸入由 0增加至正無(wú)窮時(shí),其增益又由最大逐漸降低至 0,并總為正值。 S型激活函數(shù)將任意輸入值壓縮到 (0,1)的范圍內(nèi),如圖 33所示。 ( 3)可將可能無(wú)限域的輸入變換成指定的有限范圍內(nèi)的輸出。 激活函數(shù)的基本作用是 : ( 1)控制輸入對(duì)輸出的激活作用 。 激活函數(shù) (Activation transfer function)是一個(gè)神經(jīng)元及網(wǎng)絡(luò)的核心。 BP 算法的計(jì)算機(jī)實(shí)現(xiàn)流程 BP算法的計(jì)算機(jī)實(shí)現(xiàn)按下述步驟進(jìn)行 : (1)初始化,對(duì)所有權(quán)值賦以隨機(jī)任意小值,并對(duì)閥值設(shè)定初值 ??芍貜?fù)此計(jì)算步驟。 jij j jij j ijxEEE W E I yW x W???? ? ? ?? ? ? ( ) 不難看出 ijEW 等于上述步驟 (2)的結(jié)果 jEI ,乘以與該輸出單元相連接單元 i的活性水平 jy (4)計(jì)算前面一層中一個(gè)單元活性改變時(shí)的誤差變化率,前面一層中一個(gè)單元活性的改變會(huì)影響與該單元相連接的所有輸出單元的活性。為計(jì)算輸出單元 j的活性,首先計(jì)算總 加權(quán)輸入 ,即 iji ii Wyx ?? ( ) 其中 Y是前面一層中第 1個(gè)單元的活性水平 ,Wij是第 i個(gè)單元和第 j個(gè)單元的聯(lián)接權(quán)值 . 其次,為了利用上述求得的總加權(quán)輸入 Xi來(lái)計(jì)算 Yi,必須使用某個(gè)函數(shù)來(lái)激活輸入與輸出函數(shù)。 綜上所述,為了訓(xùn)練前向網(wǎng)絡(luò)完成某項(xiàng)任務(wù),必須調(diào)整每個(gè)單元的權(quán)值,即減小期望輸出與實(shí)際輸出之間的誤差,為此必須計(jì)算每個(gè)權(quán)值變化時(shí)誤差的變化,即誤差導(dǎo)數(shù) EW,而反向傳播算法是一種確定 EW使用的最有效的方法。計(jì)算出一個(gè)單元的 EA后,再計(jì)算該單元每條輸入聯(lián)接的 EW, EW是 EA和經(jīng)過(guò)該輸入聯(lián)接活性的乘積。為計(jì)算在輸出 層前面一層的一個(gè)隱單元的 Eel,首先辨別該隱單元和與它相聯(lián)的那些輸出用數(shù)字識(shí)別的 BP神經(jīng)網(wǎng)絡(luò)單元間的所有權(quán)值,然后把這些權(quán)值乘以這些輸出單元的 EA并求和,此和值即為所選定的隱單元的 EA。 首先研究網(wǎng)絡(luò)的單元是線(xiàn)性時(shí)誤差反向傳播的算法 . 首先計(jì)算改變一個(gè)單元活性水平時(shí)誤差的變化率 EA,再計(jì)算每個(gè)權(quán)值的誤差導(dǎo)數(shù)EW。如果采取稍許擾動(dòng) 每個(gè)權(quán)值,并觀察誤差如何變化,這種方法效率太低,因?yàn)橐髮?duì)每一個(gè)權(quán)值都要單獨(dú)加擾動(dòng)。 實(shí)現(xiàn)上述訓(xùn)練過(guò)程的關(guān)鍵是必須改變的每個(gè)權(quán)值,且其變化量應(yīng)正比于權(quán)值改變時(shí)誤差的變化率,此量稱(chēng)權(quán)值的誤差導(dǎo)數(shù),簡(jiǎn)記為 EW。其次,改變網(wǎng)絡(luò)中所有聯(lián)接權(quán)值以減少誤差。為便于傳感器記錄每種 數(shù)字,網(wǎng)絡(luò)應(yīng)在適當(dāng)?shù)妮敵鰡卧挟a(chǎn)生高活性,并在其它輸單元中產(chǎn)生低的活性。比如使用 64個(gè)傳感器組成傳感器陣列,每個(gè)傳感器記錄一個(gè)數(shù)字的一小部分面積內(nèi)是否有筆寫(xiě)的墨跡存在。 ( 2)確定網(wǎng)絡(luò)的實(shí)際輸出與期望輸出之間允許的誤差; ( 3)改變網(wǎng)絡(luò)中所有聯(lián)接權(quán)值,使網(wǎng)絡(luò)產(chǎn)生的輸出更接近于期望的輸出,直到滿(mǎn)足確定的允許誤差。 基于 VC++的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 14 BP 網(wǎng)絡(luò)誤差反向傳播學(xué)習(xí)算法的基本思想 為了研究神經(jīng)網(wǎng)絡(luò)是怎樣從經(jīng)驗(yàn)中學(xué)習(xí)的,我們應(yīng)該首先向網(wǎng)絡(luò)提供一些訓(xùn)練例子,并可以通過(guò)下述方法,能教會(huì)一個(gè)三層 前向網(wǎng)絡(luò)完成某個(gè)特定的任務(wù)。 由模式順傳播與誤差逆?zhèn)鞑シ磸?fù)交替進(jìn)行的網(wǎng)絡(luò)記憶訓(xùn)練過(guò)程。 圖 31 BP網(wǎng)絡(luò)結(jié)構(gòu) BP(Back Propagation)算法是誤差反向傳播算法,網(wǎng)絡(luò)的學(xué)習(xí)由四部分組成: 輸入模式由輸入層經(jīng)向輸出層的模式順傳播過(guò)程。 上述網(wǎng)絡(luò)的信息傳播是由輸入單元傳到隱單元,最后傳到輸出單元。每個(gè)隱單元的活性取決于輸入單元的活性及該輸入單元與隱單元之間聯(lián)接權(quán)值。每個(gè)連接對(duì)應(yīng)一個(gè)權(quán)值,通過(guò)修正這些權(quán)值“學(xué)習(xí)”或“訓(xùn)練”網(wǎng)絡(luò),從而修正輸入到輸出映射的網(wǎng)絡(luò)函數(shù)。最后一層為網(wǎng)絡(luò)的輸出層。第一層為輸入層 。 基于 VC++的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 13 第 3 章前饋多層網(wǎng)絡(luò)結(jié)構(gòu)及其 BP 學(xué)習(xí)算法 BP學(xué)習(xí)算法 前向網(wǎng)絡(luò)是目前研究最多的網(wǎng)絡(luò)形式之一。 概率式學(xué)習(xí)。 神經(jīng)網(wǎng)絡(luò)中常用的有四種學(xué)習(xí)規(guī)則: 聯(lián)想式學(xué)習(xí) Hebb規(guī)則。要模擬人腦神經(jīng)系統(tǒng)的學(xué)習(xí)功能,必須使得人工神經(jīng)網(wǎng)絡(luò)具有學(xué)習(xí)功能。顯然,無(wú)教師的訓(xùn)練方式可使網(wǎng)絡(luò)具有自組織和自學(xué)習(xí)的功能。 無(wú)教師學(xué)習(xí) 無(wú)教師學(xué)習(xí)的訓(xùn)練數(shù)據(jù)集中,只有輸入而沒(méi)有目標(biāo)輸出,訓(xùn)練過(guò)程神經(jīng)網(wǎng)絡(luò)自動(dòng)地將各輸入數(shù)據(jù)的特征提取出來(lái),并將其分成若干類(lèi)。 有教師學(xué)習(xí)方法雖然簡(jiǎn)單,但是要求教師對(duì)環(huán)境和網(wǎng)絡(luò)的結(jié)構(gòu)應(yīng)該比較熟悉,當(dāng)系統(tǒng)復(fù)雜,環(huán)境變化時(shí),就變得困難。 有教師學(xué)習(xí) 為了使神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中解決各種問(wèn)題,必須對(duì)它進(jìn)行訓(xùn)練,就是從應(yīng)用環(huán)境中選出一些樣本數(shù)據(jù),通過(guò)不斷地調(diào)整權(quán)值矩陣,直到得到合適的輸入輸出關(guān)系為止,這個(gè) 過(guò)程就是對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程,這種訓(xùn)練的過(guò)程需要有教師示范,提供訓(xùn)練數(shù)據(jù),又稱(chēng)樣本數(shù)據(jù)。因此,可以認(rèn)為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的本質(zhì)特征在于神經(jīng)細(xì)胞特殊的突觸結(jié)構(gòu)所具有的可塑性連接,而如何調(diào)整連接權(quán)重就構(gòu)成了不同的學(xué)習(xí)算法。軸突分裂上千條分支,在每條分支末端,通過(guò)突觸的結(jié)構(gòu)把來(lái)自軸突的電活性變?yōu)殡娮饔?,從而使與之相連的各種神經(jīng)元的活性受到抑制或興奮。這種在同一層內(nèi)的互聯(lián),目的是為了限制同層內(nèi)神經(jīng)元同時(shí)興奮或抑制的神經(jīng)元數(shù)目,以完成特定的功能。在這種網(wǎng)絡(luò)中,如果在某一時(shí)刻從神經(jīng)網(wǎng)絡(luò)外部施加一個(gè)輸入,各個(gè)神經(jīng)元一邊相互作用,一邊進(jìn)行信息處理,直到使網(wǎng)絡(luò)所有神經(jīng)元的活性度或輸出值,收斂于某個(gè)平均值為止作為信息處理的結(jié)束。 圖 23前向網(wǎng)絡(luò) 圖 24反饋網(wǎng)絡(luò) 相互結(jié)合型網(wǎng)絡(luò) 相互結(jié)合型網(wǎng)絡(luò)如圖 25所示,它是屬于網(wǎng)狀結(jié)構(gòu)。即每一個(gè)節(jié)點(diǎn)同時(shí)接收外來(lái)輸入和來(lái)自其它節(jié)點(diǎn)的反饋輸入,其中也包括神經(jīng)元輸出信號(hào)引回到本身輸入構(gòu)成的自環(huán)反饋,如圖24所示。在前向網(wǎng)絡(luò)中有計(jì)算功能的節(jié)點(diǎn)稱(chēng)為計(jì)算單元,而輸入節(jié)點(diǎn)無(wú)計(jì)算功能。每個(gè)神經(jīng)元可以從前一層接收多個(gè)輸入,并只有一個(gè)輸出送給下一層的各神經(jīng)元。 下面介紹幾種網(wǎng)絡(luò)結(jié)構(gòu): 前向網(wǎng)絡(luò) 基于 VC++的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 10 前向網(wǎng)絡(luò)通常包含許多層,如圖 23所示 為 3層網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)按照拓?fù)浣Y(jié)構(gòu)屬于以神經(jīng)元為節(jié)點(diǎn),以及節(jié)點(diǎn)間有向連接為邊的一種圖,其結(jié)構(gòu)大體上可分為層狀和網(wǎng)狀兩大類(lèi)。為了便于從結(jié)構(gòu)出發(fā)模擬智能,因此必須將一定數(shù)量的神經(jīng)元適當(dāng)?shù)芈?lián)接成網(wǎng)絡(luò),從而形成多種神經(jīng)網(wǎng)絡(luò)模型。其中,輸入分量? ?rjp j ,...,2,1? 通過(guò)與和它相乘的權(quán)值分量 ? ?rjw j ,..,2,1? 相連,以 ??rj jjpw1的形式求和后,形成激活函數(shù) f()的輸入。神經(jīng)元輸出除受輸入信號(hào)的影響外,同時(shí)也受到神經(jīng)元內(nèi)部其它因素的影響,所以在人工神經(jīng)元的建模中,常常還加有一個(gè)額外輸入信號(hào)、稱(chēng)為偏差 (bais),有時(shí)也稱(chēng)為閾值或門(mén)限值。 網(wǎng)絡(luò)的學(xué)習(xí)和知識(shí)存儲(chǔ)體現(xiàn)在各單元之間的聯(lián)接 強(qiáng)度上。 基于 VC++的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 9 目前多數(shù)人工神經(jīng)網(wǎng)絡(luò)的構(gòu)造大體上都采用如下的一些原則 : 由一定數(shù)量的基本單元分層聯(lián)接構(gòu)成 。人工神經(jīng)元之間通過(guò)互相聯(lián)接形成網(wǎng)絡(luò),稱(chēng)為人工神經(jīng)網(wǎng)絡(luò)。它用于仿效生物神經(jīng)細(xì)胞最基本的特性,與生物原 型相對(duì)應(yīng)。經(jīng)過(guò)幾十年的努力與發(fā)展,己涌現(xiàn)出上百種人工神經(jīng)網(wǎng)絡(luò)模型,它們的網(wǎng)絡(luò)結(jié)構(gòu)、性能、算法及應(yīng)用領(lǐng)域各異,但均是根據(jù)生物學(xué)事實(shí)衍生出來(lái)的。這個(gè)信號(hào)將沿著該細(xì)胞的軸突傳送出去,并通過(guò)突觸傳給其他神經(jīng)細(xì)胞 .神經(jīng)細(xì)胞 通過(guò)突觸的聯(lián)接形成神經(jīng)網(wǎng)絡(luò)。這些信號(hào)可能是興奮性的,也可能是抑制性的。簡(jiǎn)單神經(jīng)元網(wǎng)絡(luò)及其簡(jiǎn)化結(jié)構(gòu)如圖 22所示。每個(gè)神經(jīng)細(xì)胞所產(chǎn)生和傳遞的基本信息是興奮或抑制。每個(gè)神經(jīng)元都包括三個(gè)主要部分 :細(xì)胞基于 VC++的數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 8 體、樹(shù)突和軸突。 人工神經(jīng)網(wǎng)絡(luò)的基本原理 神經(jīng)細(xì)胞以及人工神經(jīng)元的組成 神經(jīng)系統(tǒng)的基本構(gòu)造單元是神經(jīng)細(xì)胞,也稱(chēng)神經(jīng)元。在那里,信源提供的模式豐富多彩,有的互相間存在矛盾,而判定決策原則又無(wú)條理可循。 正是由于神經(jīng)網(wǎng)絡(luò)具有這些特點(diǎn),所以可以處理一些環(huán)境信息十分復(fù)雜、知識(shí)背景不清楚和推理規(guī)則不明確的問(wèn)題。 神經(jīng)元網(wǎng)絡(luò)是大量神經(jīng)元的集體行為,并不是各單元
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1