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

正文內(nèi)容

基于vc的數(shù)字識(shí)別系統(tǒng)的論文(編輯修改稿)

2025-07-24 19:09 本頁面
 

【文章內(nèi)容簡介】 于上述步驟(2)的結(jié)果,乘以與該輸出單元相連接單元i的活性水平(4)計(jì)算前面一層中一個(gè)單元活性改變時(shí)的誤差變化率,前面一層中一個(gè)單元活性的改變會(huì)影響與該單元相連接的所有輸出單元的活性。因此,為了計(jì)算對(duì)誤差總的影響,把對(duì)各輸出單元的所有單獨(dú)影響相加. ()運(yùn)用步驟(2)和(4),可把一層單元的EA變成前面一層單元的FA,為了得到期望的前面各層的EA。可重復(fù)此計(jì)算步驟。當(dāng)?shù)玫揭粋€(gè)單元的EA后,可用步驟(2)和(3)來計(jì)算作用于它的輸入聯(lián)接上的EW。 BP算法的計(jì)算機(jī)實(shí)現(xiàn)流程BP算法的計(jì)算機(jī)實(shí)現(xiàn)按下述步驟進(jìn)行:(1)初始化,對(duì)所有權(quán)值賦以隨機(jī)任意小值,并對(duì)閥值設(shè)定初值。(2)給定訓(xùn)練數(shù)據(jù)集,即提供輸入向量x和期望輸出y:(3)計(jì)算實(shí)際輸出y ()其中f函數(shù)為Sigmoid函數(shù):(4)調(diào)整權(quán)值,按誤差反向傳播方向,從輸出節(jié)點(diǎn)開始返回到隱層按下式修正權(quán)值. ()其中為大于0的增益,為節(jié)點(diǎn)j的誤差,的計(jì)算根據(jù)節(jié)點(diǎn)j的形式不同,由下式分別計(jì)算: ()(5)返回(2)步重復(fù),直至誤差滿足要求為止。激活函數(shù)(Activation transfer function)是一個(gè)神經(jīng)元及網(wǎng)絡(luò)的核心。網(wǎng)絡(luò)解決問題的能力與功效除了與網(wǎng)絡(luò)結(jié)構(gòu)有關(guān),在很大程度上取決于網(wǎng)絡(luò)所采用的激活函數(shù)。激活函數(shù)的基本作用是:(1)控制輸入對(duì)輸出的激活作用。(2)對(duì)輸入、輸出進(jìn)行函數(shù)轉(zhuǎn)換。(3)可將可能無限域的輸入變換成指定的有限范圍內(nèi)的輸出。在這個(gè)設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)中我們選擇的是S型(Sigmod型)激活函數(shù)。S型激活函數(shù)將任意輸入值壓縮到(0,1)的范圍內(nèi),如圖33所示。 帶有偏差的對(duì)數(shù)S型曲線 帶有偏差的雙曲S型函數(shù) 圖33 S型激活函數(shù)此種激活函數(shù)常用對(duì)數(shù)或雙曲正切等一類S形狀的曲線來表示,如對(duì)數(shù)S型激活函數(shù)關(guān)系為: ()而雙曲正切S型曲線的輸入輸出函數(shù)關(guān)系為: ()S型激活函數(shù)具有非線性放大增益,對(duì)任意輸入的增益等于在輸入/輸出曲線中該輸入點(diǎn)處的曲線斜率值。當(dāng)輸入由無窮增大到零時(shí),其增益由0增至最大,然后當(dāng)輸入由0增加至正無窮時(shí),其增益又由最大逐漸降低至0,并總為正值。利用該函數(shù)可以使同一神經(jīng)網(wǎng)絡(luò)既能處理小信號(hào),也能處理大信號(hào)。因?yàn)樵摵瘮?shù)的中間高增益區(qū)解決了處理小信號(hào)的間題,而在伸向兩邊的低增益區(qū)正好適用于處理大信號(hào)的輸入。一般地,稱一個(gè)神經(jīng)網(wǎng)絡(luò)是線性或非線性是由網(wǎng)絡(luò)神經(jīng)元中所具有的激活函數(shù)的線性或非線性來決定的。第4章數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)幾種常用的解決問題的軟件開發(fā)方法,一種是對(duì)問題追述的方法,也就是從問題的結(jié)果分析起一步一步找到問題的源頭。另一種解決問題的方法是尋找容易解決的或者是己經(jīng)解決的相關(guān)的問題轉(zhuǎn)而應(yīng)用到解決當(dāng)前的問題來。但是當(dāng)前軟件開發(fā)中更為流行和常用的方法是逐步求精法。這種方法是一種由頂向下的方法,也就是由一般到特殊的方法,它的基本思想是將原始的問題分割成若干個(gè)子問題,子問題較整個(gè)大問題容易解決。本文程序設(shè)計(jì)采用逐步求精法,將整個(gè)系統(tǒng)問題分割成若干個(gè)子問題來做,主要包括圖像數(shù)據(jù)輸入模塊GetDIB()、二值化模塊Threshold()、平滑濾波模塊Smooth()、分割模塊divide()、字符切分模塊CharSegment()、字符識(shí)別模塊CharRecognition()。首先分別對(duì)每個(gè)模塊進(jìn)行單元測(cè)試分析和模塊測(cè)試,然后再組合成系統(tǒng),進(jìn)行系統(tǒng)測(cè)試。圖 41 系統(tǒng)邏輯模型流程圖此圖為系統(tǒng)邏輯模型流程圖,其中細(xì)箭頭代表程序的進(jìn)程,整個(gè)程序就是按上圖所示流程編寫的。面對(duì)琳瑯滿目的各種開發(fā)環(huán)境和開發(fā)軟件,我沒有使用MATLAB,最主要的原因是VC對(duì)內(nèi)存的掌控很好,這對(duì)運(yùn)算量極大的BP算法有著關(guān)鍵的作用,要知道,設(shè)計(jì)一個(gè)BP網(wǎng)絡(luò)不難,難的是設(shè)計(jì)一個(gè)高效,高速,穩(wěn)定的BP網(wǎng)絡(luò),這就需要我們來對(duì)內(nèi)存進(jìn)行優(yōu)化,、不穩(wěn)定、.Visua1C++,是Microsoft公司開發(fā)的Visual Studio集成開發(fā)環(huán)境中功能最為強(qiáng)大、代碼效率最高的開發(fā)工共。利用VisualC++,一種方式是基于Windows API的C編程方式,另一種是基于MFC的C++編程方式。C編程方式是傳統(tǒng)的、久經(jīng)考驗(yàn)的編程方式,代碼的效率較高,但開發(fā)難度與開發(fā)的工作量都很大。而C++編程方式代碼運(yùn)行效率相對(duì)較低,其開發(fā)難度小、開發(fā)工作量小、源代碼效率高,尤其Microsoft基礎(chǔ)類庫(Microsoft Foundation Class Library,MFC)為用戶提供了Windows95/NT環(huán)境下面向?qū)ο蟮某绦蜷_發(fā)界面,它提供了大量預(yù)先編寫好的類及支持代碼,用于處理多數(shù)標(biāo)準(zhǔn)Windows編程任務(wù),因此大大簡化了Windows應(yīng)用程序編寫工作。MFC類庫的優(yōu)越性表現(xiàn)在以下幾個(gè)方面:MFC幾乎完整地封裝了WindowsAPI函數(shù)。包括窗口函數(shù)、消息、控件、菜單、對(duì)話框、GDI對(duì)象、對(duì)象鏈接,以及多文檔界面等。MFC支持多線程,所有的應(yīng)用至少有一個(gè)線程,這個(gè)線程由CWinApp類的對(duì)象創(chuàng)建,被稱為“主”線程口為方便多線程編程,MFC還提供了同步對(duì)象類。MFC庫提供了自動(dòng)消息處理功能。MFC庫自動(dòng)處理每一個(gè)Windows消息,且每一條Windows消息被直接映射到一個(gè)進(jìn)行處理的成員函數(shù)。 BMP圖像格式簡介程序中能夠進(jìn)行處理的是灰度圖像?;叶葓D是只含亮度信息,不含色彩信息的圖像,就像平時(shí)看到亮度由暗到明變化連續(xù)的黑白照片一樣。因此要表示灰度圖,就需要把亮度值進(jìn)行量化,通常劃分成0到255共256個(gè)級(jí)別,0最暗(全黑),255最亮(全白),并將所有灰度圖像轉(zhuǎn)化為DIB(DeviceIndependent Bitmap設(shè)備無關(guān)位圖)位圖文件格式。位圖(BMP)文件中DIB的結(jié)構(gòu)由四部分組成:第1部分為位圖文件頭BITMAPFILEH EADER,指定文件為BMP文件類型,并且指定了從文件頭到實(shí)際位圖數(shù)據(jù)的偏移字節(jié)數(shù)。第二部分為位圖信息BITMAPINFOHEADER,其中說明了位圖包含的基本信息,如大小,寬度,高度,顏色位數(shù),水平和垂直分辨率等。第三部分調(diào)色板(Palette)保存顏色信息。第四部分就是實(shí)際的圖像數(shù)據(jù)。由于DIB位圖能獨(dú)立的保存固有的圖像信息,能在不同的系統(tǒng)中重現(xiàn)其圖像,故成為Windows環(huán)境中的基本圖像格式。由MFC中沒有設(shè)計(jì)一處理DIB位圖的類,因此,利用Visual C++進(jìn)行DIB位圖編程時(shí)只能使用“非面向?qū)ο蟆钡姆椒?,即直接調(diào)用Win32 SDK的有關(guān)API函數(shù),這是一個(gè)很大的缺陷,彌補(bǔ)的最好方法就是定義一個(gè)處理DIB位圖的專用類,比如一個(gè)名為CDib的類,在其中封裝必需的DIB數(shù)據(jù)成員和處理函數(shù)。但是在構(gòu)建CDib類時(shí)會(huì)遇到許多的困難,因?yàn)閃in32SDK沒有提供多少直接處理DIB位圖的API函數(shù),僅支持一些重要的DIB訪問,在實(shí)際應(yīng)用時(shí)很不夠,必須定義一套完整的DIB處理函數(shù)。但是Win32 SDK中的DIB API函數(shù)是定義DIB處理函數(shù)集的基礎(chǔ),因此,還是要分析Win32 SDK中的DIB API函數(shù)。從這些函數(shù)中可以看出它們能完成DIB位圖的一些最基本的功能,如能申請(qǐng)到內(nèi)存,完成DIB位圖的構(gòu)造,能縮放顯示DIB于顯示器和打印機(jī)上,直接從磁盤文件中讀入位圖,返回該句柄,能設(shè)置和獲取位圖的顏色表。在構(gòu)造自己的CDib類時(shí),也要以這些函數(shù)和功能為基礎(chǔ)。表41 Win32 SDK中的DIBAPI函數(shù)函數(shù)功能GetDIBits從DDB中獲取位圖的圖象位,用于將DDB轉(zhuǎn)換為DIB格式SetDIBits設(shè)置DIB位圖的圖象位,用于將DIB轉(zhuǎn)換為DDB形式CreateDIBitmap用指定的DIB來創(chuàng)建DDB,并用DIB信息初始化位圖的圖象位SetDIBitsToDevice直接將DIB位圖的圖象位輸出到設(shè)備,用于顯示DIBStretchDIBits將DIB位圖映射輸出到設(shè)備的一個(gè)矩形區(qū)域,位圖可能被縮放CreateDIBSection創(chuàng)建一個(gè)可直接寫入的DIBGetDIBColorTable獲取DIB的顏色表SetDIBColorTable設(shè)置DIB的顏色表 CDib類的構(gòu)造一、CDib類設(shè)計(jì)的目標(biāo)面向?qū)ο笤O(shè)計(jì)的重點(diǎn)是類的設(shè)計(jì),而不是對(duì)象的設(shè)計(jì),如果將對(duì)象比作房子,那么類就是房子的設(shè)計(jì)圖紙。對(duì)于C++程序而言,設(shè)計(jì)孤立的類比較容易,難的是正確設(shè)置其基類及派生類。功能根據(jù)對(duì)DIB操作的分析,以及參照CBitmap的功能設(shè)計(jì),CDib類的基本操作功能應(yīng)該包括如下:(1)多種形式的構(gòu)造函數(shù),包括創(chuàng)建空DIB,從DIB句柄創(chuàng)建,從DIB數(shù)據(jù)塊指針創(chuàng)建及從屏幕或顯示創(chuàng)建等。(2)DIB文件的讀寫操作。(3)DIB的顯示和縮放顯示。(4)提供DIB的空間、顏色和格式特征等信息。(5)DIB格式轉(zhuǎn)換和調(diào)色板操作。(6)能獲取DIB位圖數(shù)據(jù)的句柄并且生成DIB數(shù)據(jù)的拷貝。父類由于MFC中已有一個(gè)支持DDB操作的CBitmap類,因此容易想到以CBitmap類作為基類派生出CDib類。但是這樣做有諸多的不適,首先,CBitmap類是為DDB的操作而設(shè)計(jì)的,其中沒有處理DIB的功能,故CDib類不能從中繼承任何可用的功能;其次,CBitmap類是從CGdiObject中派生出來的,CBitmap類以及它從CGdiObject類繼承來的數(shù)據(jù)成員和功能函數(shù)對(duì)CDib來說都是不合適的,也是多余的。此外,CBitmap類沒有提供有效的文件操作機(jī)制,而DIB主要是一種“外部”位圖,即它主要以文件形式進(jìn)行存儲(chǔ)和交換,所以CDib類應(yīng)該能很好的處理文件操作。MFC中的CObject類是MFC中其他大多數(shù)類的基類。它不但提供許多有用的特性,還包括對(duì)文件串行化的支持,運(yùn)行時(shí)的類信息和對(duì)象診斷的輸出等。如果從CObject類來派生,則可以繼承該類的這種特性。另外,CObject類具有最低限度的成員數(shù)據(jù)和函數(shù),從CObject類派生的類所花的代價(jià)是最低的,因此,采用CObject類作為CDib類的基類是很合理的。數(shù)據(jù)成員數(shù)據(jù)成員很少,只有四個(gè),都定義為公有變量public:HDIB mhDib //DIB位圖句柄CPalette *m_pPalette //位圖調(diào)色板類成員對(duì)象指針CBitmap * m_pBitmap //bitmap類成員對(duì)象指針VVin32 SDK使用句柄來表示操作內(nèi)存對(duì)象,因此,這里也定義了一個(gè)DIB句柄來表示DIB的內(nèi)存數(shù)據(jù)塊: define HDIB HANDLEHDIB 定義為存儲(chǔ)BITMAPINFO結(jié)構(gòu)和位圖位數(shù)數(shù)據(jù)塊的內(nèi)存句柄,用GlobalLock鎖定HDIB得到DIB數(shù)據(jù)塊的地址指針,并可將該指針強(qiáng)制為LPBITMAPINF()或LPBITMAPINFOHEADER來使用,如HDIB hDIBLPBITMAPINFO lpbi。LPBI TMAPINFOHEADER Ipbih。Lpbi = (LPBITMAPINFO)G lobalLock(HDIB):Lpbih = (LPBITMAPINFOHEADER)lp bi。二、CDib類成員函數(shù)以下介紹的Win32SDKAPI函數(shù)和CDib類的數(shù)據(jù)成員是磚石,現(xiàn)在可以開始構(gòu)筑CDib類的成員函數(shù)也即DIB處理類的根基了,將定義的DIB處理函數(shù)分為以下幾類:初始化函數(shù)類,屬性函數(shù)類,顯示函數(shù)類,操作函數(shù)類,調(diào)色板函數(shù)類。初始化函數(shù)類用來創(chuàng)建DIB,讀入DIB數(shù)據(jù),保存DIB文件和釋放DIB內(nèi)存空間等。屬性函數(shù)是為了方便得到DIB的空間、顏色和圖像數(shù)據(jù)方面的信息如圖像的高度,寬度,數(shù)據(jù)塊地址等。操作函數(shù)類定義了對(duì)DIB文件的各類實(shí)際操作和變換,這個(gè)類的函數(shù)可以改寫DIB的數(shù)據(jù)所以是個(gè)核心函數(shù)類。調(diào)色板函數(shù)類完成對(duì)調(diào)色板的操作。DIB處理函數(shù)集的各個(gè)函數(shù)的名稱和功能說明如表42所示:表42 DIB處理函數(shù)集各個(gè)函數(shù)函數(shù)類型函數(shù)名稱功能初始化函數(shù)CreateDIB創(chuàng)建一個(gè)空的DIBCreateDefaultDIB用當(dāng)前的系統(tǒng)調(diào)色板創(chuàng)建一個(gè)空的DIBDestroyDIB釋放DIB內(nèi)存塊LoadDIB從DIB文件裝載DIB數(shù)據(jù)SaveDIB將DIB存到文件中ReadDIBFile讀DIB文件到內(nèi)存中屬性函數(shù)BytesPerLine獲取DIB每行所占的字節(jié)數(shù)DIBlockSize獲取DIB數(shù)據(jù)塊的大小DIBHeight獲取DIB的高度DIBWidth獲取DIB寬度DIBNumColors獲取DIB的顏色數(shù)DIBBitsCount獲取DIB的圖象顏色位數(shù)FindDIBBits獲取DIB數(shù)據(jù)塊的地址(指針)PaletteSize獲取DIB調(diào)色板的顏色表項(xiàng)數(shù)操作函數(shù)DIBToDIBSection將DIB數(shù)據(jù)塊轉(zhuǎn)換為DIBSELECTIONDIBSectionToDIB將DIBSELECTION轉(zhuǎn)換為DIB數(shù)據(jù)塊ConvertDIBFormat修改DIB的格式BitmapToDIB將DDB轉(zhuǎn)換為DIBChangeBitmapFormat修改DDB的格式DIBToBitmap將DIB轉(zhuǎn)換為DDBCh
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1