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

正文內(nèi)容

基于vc的數(shù)字識別系統(tǒng)的設計與實現(xiàn)(完整版)

2025-01-23 02:23上一頁面

下一頁面
  

【正文】 模式識別是六十年代初迅速發(fā)展起來的一門學科。如果需要計算機去認識這些己經(jīng)成為文字的東西,就需要 OCR技術(shù)。因此針對這類問題的處理系統(tǒng)設計的關(guān)鍵環(huán)節(jié)之一就是設計出高可靠性和高識別率的數(shù)字識別方法。它存儲信息的方式與傳統(tǒng)的計算機的思維方式是不同的,一個信息不是存在一個地方,而是分布在不同的位置。這體現(xiàn)了神經(jīng)網(wǎng)絡并行推 理的特點。解決這些問題的關(guān)鍵是需要進行復雜而龐大的實時數(shù)據(jù)處理,而現(xiàn)有計算機的存貯容量及計算復雜性的局限,使得真正實時化的應用受阻。目前新興研究的小波變換在時域和頻域中都具有良好的局部化特性,它在圖像處理中也有著廣泛而有效的應用。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節(jié)明顯;強化低頻分量可減少圖像中噪聲影響。對于特殊的紋理圖像可采用二維紋理特征描述。 本文第二、三章介紹了人工神經(jīng)元網(wǎng)絡基本原理和它的 BP學習算法,然后論述了模式識別的方法和有關(guān)概念,指出了神經(jīng)網(wǎng)絡之所以能夠用于數(shù)字識別的內(nèi)在機理和獨特優(yōu)勢。 人的思維可以對初次見到的事物進行分類。 人工神經(jīng)網(wǎng)絡模式識別 具體的模式識別是多種多樣的,如果從識別的基本方法上劃分,傳統(tǒng)的模式識別大體分為統(tǒng)計模式識別和句法模式識別,在識別系統(tǒng)中引入神經(jīng)網(wǎng)絡是一種近年來發(fā)展起來的新的模式識別方法。 常規(guī)處理 其作用相當于傳統(tǒng)模式識別中的數(shù)據(jù)獲取和常規(guī)處理兩步的功能。 神經(jīng)網(wǎng)絡能夠應用于模式識別,關(guān)鍵在于它具有一般數(shù)學模型所不具有的諸多優(yōu)點。這就是網(wǎng)絡具有容錯性和聯(lián)想記憶功能,自然是表現(xiàn)出較強的魯莽性。 神經(jīng)元網(wǎng)絡是大量神經(jīng)元的集體行為,并不是各單元行為的簡單的相加,而表現(xiàn)出一般復雜非線性動態(tài)系統(tǒng)的特性。每個神經(jīng)元都包括三個主要部分 :細胞基于 VC++的數(shù)字識別系統(tǒng)的設計與實現(xiàn) 8 體、樹突和軸突。這個信號將沿著該細胞的軸突傳送出去,并通過突觸傳給其他神經(jīng)細胞 .神經(jīng)細胞 通過突觸的聯(lián)接形成神經(jīng)網(wǎng)絡。 基于 VC++的數(shù)字識別系統(tǒng)的設計與實現(xiàn) 9 目前多數(shù)人工神經(jīng)網(wǎng)絡的構(gòu)造大體上都采用如下的一些原則 : 由一定數(shù)量的基本單元分層聯(lián)接構(gòu)成 。為了便于從結(jié)構(gòu)出發(fā)模擬智能,因此必須將一定數(shù)量的神經(jīng)元適當?shù)芈?lián)接成網(wǎng)絡,從而形成多種神經(jīng)網(wǎng)絡模型。在前向網(wǎng)絡中有計算功能的節(jié)點稱為計算單元,而輸入節(jié)點無計算功能。這種在同一層內(nèi)的互聯(lián),目的是為了限制同層內(nèi)神經(jīng)元同時興奮或抑制的神經(jīng)元數(shù)目,以完成特定的功能。 有教師學習方法雖然簡單,但是要求教師對環(huán)境和網(wǎng)絡的結(jié)構(gòu)應該比較熟悉,當系統(tǒng)復雜,環(huán)境變化時,就變得困難。 神經(jīng)網(wǎng)絡中常用的有四種學習規(guī)則: 聯(lián)想式學習 Hebb規(guī)則。最后一層為網(wǎng)絡的輸出層。 圖 31 BP網(wǎng)絡結(jié)構(gòu) BP(Back Propagation)算法是誤差反向傳播算法,網(wǎng)絡的學習由四部分組成: 輸入模式由輸入層經(jīng)向輸出層的模式順傳播過程。比如使用 64個傳感器組成傳感器陣列,每個傳感器記錄一個數(shù)字的一小部分面積內(nèi)是否有筆寫的墨跡存在。如果采取稍許擾動 每個權(quán)值,并觀察誤差如何變化,這種方法效率太低,因為要求對每一個權(quán)值都要單獨加擾動。 綜上所述,為了訓練前向網(wǎng)絡完成某項任務,必須調(diào)整每個單元的權(quán)值,即減小期望輸出與實際輸出之間的誤差,為此必須計算每個權(quán)值變化時誤差的變化,即誤差導數(shù) EW,而反向傳播算法是一種確定 EW使用的最有效的方法。 BP 算法的計算機實現(xiàn)流程 BP算法的計算機實現(xiàn)按下述步驟進行 : (1)初始化,對所有權(quán)值賦以隨機任意小值,并對閥值設定初值 。 S型激活函數(shù)將任意輸入值壓縮到 (0,1)的范圍內(nèi),如圖 33所示。但是當前軟件開發(fā)中更為流行和常用的方法是逐步求精法。而 C++編程方式代碼運行效率相對較低,其開發(fā)難度小、開發(fā)工作量小、源代碼效率高,尤其 Microsoft基礎(chǔ)類庫( Microsoft Foundation Class Library,MFC)為用戶提供了 Windows95/NT環(huán)境下面向?qū)ο蟮某绦蜷_發(fā)界面,它提供了大量預先編寫好的類及支持代碼,用于處理多數(shù)標準 Windows編程任務,因此大大簡化了 Windows應用程序編寫工作。因此要表示灰度圖,就需要把亮度值進行量化,通常劃分成 0到 255共 256個級別, 0最暗 (全黑 ), 255最亮 (全白 ),并將所有灰度圖像轉(zhuǎn)化為 DIB(DeviceIndependent Bitmap設備無關(guān)位圖 )位圖文件格式。但是 Win32 SDK中的 DIB API函數(shù)是定義 DIB處理函數(shù)集的基礎(chǔ),基于 VC++的數(shù)字識別系統(tǒng)的設計與實現(xiàn) 21 因此,還是要分析 Win32 SDK中的 DIB API函數(shù),如表 。 ( 4) 提供 DIB的空間、顏色和格式特征等信息。如果從 CObject類來派生,則可以繼承該類的這種特性。操作函數(shù)類定義了對 DIB文件的各類實際操作和變換,這個類的函數(shù)可以改寫 DIB的數(shù)基于 VC++的數(shù)字識別系統(tǒng)的設計與實現(xiàn) 23 據(jù)所以是個核心函數(shù)類 。在系統(tǒng)中設置了新類 CChildview,子窗口菜單由此新類來處理。首先,可以在源文件內(nèi)的任意位置設置斷點,如注釋行,括號等,然而,當在注釋行、括號等行 設置斷點后 VC++并不執(zhí)行編譯。 Debug菜單中的很多分步命令都有快捷鍵,可簡化程序的執(zhí)行。而本文是通過大量的樣本訓練網(wǎng)絡,以達到預期的識別率。有劃的部分 g(i,j)小 ,白背景部分 g(i,j)大。 平滑 實際獲得的圖像在形成、傳輸、接受和處理的過程中,不可避免地存在著外部干擾和內(nèi)部干擾,如光點轉(zhuǎn)換過程中敏感元件靈敏度的不均勻性,數(shù)字化過程的量化噪聲,傳輸過程中的誤差以及人為因素等,均會使圖像質(zhì)量變差,使圖像模糊。 基于 VC++的數(shù)字識別系統(tǒng)的設計與實現(xiàn) 27 一維中值濾波的概念很容易推廣到二維。此外還有疊代操作,就是對輸入圖像重復進行同樣的中值濾波,直到它不 再有變化為止。 對離散圖像而言,可用差分近似表示上式,一種常用的近似關(guān)系式是: ? ?? ? ? ? ? ?? ? ? ? ? ?? ?? ? 2122 1,1, ?????? kjFkjFkjFkjFkjFG () 為便于編程和提高運算精度,在某些場合可進一步簡化為: ? ?? ? ? ? ? ? ? ? ? ?1,1, ?????? kjFkjFkjFkjFkjFG () 還有一種羅伯特梯度的算子,表達式是: ? ?? ? ? ? ? ?? ? ? ? ? ?? ?? ? 2122 1,11,1, ???????? kjFkjFkjFkjFkjFG () 對應的絕對值表達式是: ? ?? ? ? ? ? ? ? ? ? ?1,11,1, ???????? kjFkjFkjFkjFkjFG () ( )式和( )式中各因子之間的關(guān)系分別如圖 ( a)( b)所描述。 給邊緣規(guī)定一個特定的灰度級,即 ? ?? ?? ?? ? ? ?? ???? ??? TkjFGkjF TkjFGLkjG ,。 通??梢砸罁?jù)兩種原則進行分割。 規(guī)格化 由于樣本數(shù)字大小不一,為了便于提取數(shù)字特征,需要對樣本進行尺寸大小規(guī)一化,或者說是將數(shù)字的長度和寬度都調(diào)整到充滿整個 n*n的網(wǎng)格之中。對傳統(tǒng)的識別系統(tǒng),這種樣本不能直接進行識別,以上的步驟只是為特征提取選擇打下基礎(chǔ)。每個 字符被分成 8*8的小塊進行數(shù)字化,分別用一個向量來表示。共有兩類這樣的數(shù)據(jù)作為輸入 :一類是在理想的狀態(tài)下的信號 。但是,這種簡單的原始二值表達式在代表數(shù)字時有下面幾點不足 : 樣本維數(shù)很大,而中間許多特征不一定有用 。因而人們認為在二值化的字符圖像中,對識別有價值的字符特征主要集中在字符的輪廓或者骨架上。一是依據(jù)同一區(qū)域具有相似的灰度 (或組織特性 )這一特征,尋求不同區(qū)域之邊界。, ? ( ) 給背景規(guī)定特定的灰度級 ? ?? ?? ? ? ?? ?? ?? ???? ??? TkjFGL TkjFGkjFGkjGb , ( ) 二值圖像 ? ?? ?? ? ? ?? ?? ?? ???? ??? TkjFGL TkjFGkjFGkjGb , ( ) 梯度是向量,各向同性,梯度方向?qū)c F(j,k)最大變化率方向上,即 ? ? ? ??????? ????? j kjFk kjFQ ,/,a rc t a n ( ) 梯度幅度比例于相鄰像素的灰度級差值。( )式是沿水平軸和垂直軸兩個方向的微分和,( ) 是取正反旋轉(zhuǎn) 45度兩個方向的微分的和。 對離散階躍信號,斜升信號不產(chǎn)生影響,連續(xù)個數(shù)小于窗口長度一半的高 基于 VC++的數(shù)字識別系統(tǒng)的設計與實現(xiàn) 28 圖 42 中值濾波示例 ( a)階躍( b)斜坡( c)單脈沖( d)雙脈沖( e)三脈沖( f)三角形 離散脈沖將被平滑,三角函數(shù)的頂部平坦化(見圖 42) 令 C 為常數(shù),則 ? ? ? ?? ? ? ?? ? ? ? ? ?jkjkjkjk jkjkjkjkfM e dFM e dfFM e dFM e dCFCM e dFC M e dCFM e d??????? () 中值濾波后,信號 頻譜基本不變。二維中值濾波器的窗口形狀可以有多種,如線狀,方形,十字形,圓形,菱形等(見圖 41)。圖像平滑的目的有兩個:改善圖像的質(zhì)量和抽出對象的特征。否則看成筆劃,以 1表示。紙張薄厚、潔白度、光潔度、書寫力度和筆劃質(zhì)量都要造成字形的變化,產(chǎn)生污點、飛白、斷筆、交連等干擾。 表 43 單步執(zhí)行命令的快捷鍵 命令 快捷鍵 Step Over F10 Run to Cursor(運行到光標處 ) Ctrl+F10 Step Into(步進到) F11 基于 VC++的數(shù)字識別系統(tǒng)的設計與實現(xiàn) 25 Step Out(步出) Shift+F11 像預處理 神經(jīng)網(wǎng)絡為數(shù)字識別提供一個強有力的手段。 既可以啟用斷點,也可以禁用斷點。 VC應用中 很重要的一點是要學會如何調(diào)試程序,程序如此龐大如果不回調(diào)試程序,哪里出了錯是很難找到的。 DIB處理函數(shù)集的各個函數(shù)的名稱和功能說明如表 42所示 : 表 42 DIB 處理函數(shù)集各個函數(shù) 函數(shù)類型 函數(shù)名稱 功能 初 始 化 函 數(shù) CreateDIB 創(chuàng)建一個空的 DIB CreateDefaultDIB 用當前的系統(tǒng)調(diào)色板創(chuàng)建一個空的 DIB DestroyDIB 釋放 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)色板的顏色表項數(shù) 操 作 函 數(shù) DIBToDIBSection 將 DIB 數(shù)據(jù)塊轉(zhuǎn)換為 DIBSELECTION DIBSectionToDIB 將 DIBSELECTION 轉(zhuǎn)換為 DIB 數(shù)據(jù)塊 ConvertDIBFormat 修改 DIB 的格式 BitmapToDIB 將 DDB 轉(zhuǎn)換為 DIB ChangeBitmapFormat 修改 DDB 的格式 DIBToBitmap 將 DIB 轉(zhuǎn)換為 DDB ChangeDIBFormat 基于當前的系統(tǒng)調(diào)色板修改 DIB 的格式 Threshold 圖象二值化 CharSegment 提取后的圖象字符切分 Smooth 圖象平滑 CharUniform 字符圖象規(guī)格化 程序設計相關(guān)內(nèi)容介紹 首先建立一個用戶界面的菜單。 數(shù)據(jù)成員 數(shù)據(jù)成員很少,只有四個,都定義為公有變量 public: HDIB mhDib //DIB位圖句柄 CPalette *m_pPalette //位圖調(diào)色板類成員對象指針 CB
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1