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

正文內(nèi)容

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

2024-12-10 02:23本頁面
  

【正文】 如圖 46所示 。共有兩類這樣的數(shù)據(jù)作為輸入 :一類是在理想的狀態(tài)下的信號 。每個 字符被分成 8*8的小塊進行數(shù)字化,分別用一個向量來表示。 BP 網(wǎng)絡(luò)在數(shù)字識別中的應用 BP 算法的流程圖如下 圖所示。 對于不同數(shù)字的外圍或邊緣及主干特征并沒有考慮進去,這樣對一些有相似部分的數(shù)字容易出現(xiàn)誤識。但是,這種簡單的原始二值表達式在代表數(shù)字時有下面幾點不足 : 樣本維數(shù)很大,而中間許多特征不一定有用 。對傳統(tǒng)的識別系統(tǒng),這種樣本不能直接進行識別,以上的步驟只是為特征提取選擇打下基礎(chǔ)。關(guān)于細化及快速細化的算法有許多,比如快速細化算法 QA,Rutorit算法 (簡稱 RA),Hildith算法 (簡稱 HA)等。即將字符中的粗細不等的筆劃變換成只有一層像素點構(gòu)成的統(tǒng)一的筆劃。因而人們認為在二值化的字符圖像中,對識別有價值的字符特征主要集中在字符的輪廓或者骨架上。 規(guī)格化 由于樣本數(shù)字大小不一,為了便于提取數(shù)字特征,需要對樣本進行尺寸大小規(guī)一化,或者說是將數(shù)字的長度和寬度都調(diào)整到充滿整個 n*n的網(wǎng)格之中。超過閾值的重新分配以最大灰度 (例如 255),低于閾值的分配基于 VC++的數(shù)字識別系統(tǒng)的設(shè)計與實現(xiàn) 31 以最小灰度 (例如 0),那么,我們就可以組成一個新的二值圖像,并 成功地把對象從背景中顯露出來。 本設(shè)計中選擇使用基于灰度閾值的全局閾值化方法 . 這是一種最常用、同時也是最簡單的分割方法,它特別適用于對象和背景占據(jù)不同灰度級范圍這類圖像。一是依據(jù)同一區(qū)域具有相似的灰度 (或組織特性 )這一特征,尋求不同區(qū)域之邊界。 通??梢砸罁?jù)兩種原則進行分割。在這些應用中,給出的數(shù)字往往是互相牽連,并且常帶有覆蓋相交叉,所以為了獲得可以進行識別的輸入樣本表達,必須進行數(shù)字之間的分離,消除不必要的記號和符號。熟悉梯度的這些性質(zhì),根據(jù)不同的目的選擇不同的算法,就能獲得滿意的銳化效果。, ? ( ) 給背景規(guī)定特定的灰度級 ? ?? ?? ? ? ?? ?? ?? ???? ??? TkjFGL TkjFGkjFGkjGb , ( ) 二值圖像 ? ?? ?? ? ? ?? ?? ?? ???? ??? TkjFGL TkjFGkjFGkjGb , ( ) 梯度是向量,各向同性,梯度方向?qū)c F(j,k)最大變化率方向上,即 ? ? ? ??????? ????? j kjFk kjFQ ,/,a rc t a n ( ) 梯度幅度比例于相鄰像素的灰度級差值。 給邊緣規(guī)定一個特定的灰度級,即 ? ?? ?? ?? ? ? ?? ???? ??? TkjFGkjF TkjFGLkjG ,。, ,。但是 F(j,k)均勻的區(qū)域,因梯度值 G[F(j,k)]很?。O端情況下甚至為 0),會表現(xiàn)出暗的特性,這在有些場合是不適宜的。( )式是沿水平軸和垂直軸兩個方向的微分和,( ) 是取正反旋轉(zhuǎn) 45度兩個方向的微分的和。 對離散圖像而言,可用差分近似表示上式,一種常用的近似關(guān)系式是: ? ?? ? ? ? ? ?? ? ? ? ? ?? ?? ? 2122 1,1, ?????? kjFkjFkjFkjFkjFG () 為便于編程和提高運算精度,在某些場合可進一步簡化為: ? ?? ? ? ? ? ? ? ? ? ?1,1, ?????? kjFkjFkjFkjFkjFG () 還有一種羅伯特梯度的算子,表達式是: ? ?? ? ? ? ? ?? ? ? ? ? ?? ?? ? 2122 1,11,1, ???????? kjFkjFkjFkjFkjFG () 對應的絕對值表達式是: ? ?? ? ? ? ? ? ? ? ? ?1,11,1, ???????? kjFkjFkjFkjFkjFG () ( )式和( )式中各因子之間的關(guān)系分別如圖 ( a)( b)所描述。 在設(shè)計中我選擇使用了梯度銳化法 . 對圖像函數(shù) F(j,k),其在點 (j,k)上的梯度定義為矢量 基于 VC++的數(shù)字識別系統(tǒng)的設(shè)計與實現(xiàn) 29 ? ?? ??????????????????kFjFkjFG , () G(j,k)的幅度為 ? ?? ? 2122,???????? ????????????????????kFjFkjFG () 在后面的討論中,均以上式為基礎(chǔ)。它是早期視覺理論和算法中的基本問題,也是中期和后期視覺成敗的重要因素之一。 對離散階躍信號,斜升信號不產(chǎn)生影響,連續(xù)個數(shù)小于窗口長度一半的高 基于 VC++的數(shù)字識別系統(tǒng)的設(shè)計與實現(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??????? () 中值濾波后,信號 頻譜基本不變。此外還有疊代操作,就是對輸入圖像重復進行同樣的中值濾波,直到它不 再有變化為止。一種方法是先使用小尺寸窗口,后逐漸加大窗口尺寸,直到中值濾波器的壞處多于好處為止。從以往的經(jīng)驗看,方形或圓形窗口適宜于外廓線繳長的物體圖像,十字形窗口優(yōu)選與有尖頂角物體的圖像。二維中值濾波器的窗口形狀可以有多種,如線狀,方形,十字形,圓形,菱形等(見圖 41)。 基于 VC++的數(shù)字識別系統(tǒng)的設(shè)計與實現(xiàn) 27 一維中值濾波的概念很容易推廣到二維。記做 ? ?viivii FFFM edG ??? ,. .. ,. .. , Med{*}表示取窗口中值。 中值濾波 是一種對干擾脈沖和點狀噪聲有良好抑制作用,而對圖像邊緣能較好保持的非現(xiàn)行圖像增強技術(shù)。圖像平滑的目的有兩個:改善圖像的質(zhì)量和抽出對象的特征。 平滑 實際獲得的圖像在形成、傳輸、接受和處理的過程中,不可避免地存在著外部干擾和內(nèi)部干擾,如光點轉(zhuǎn)換過程中敏感元件靈敏度的不均勻性,數(shù)字化過程的量化噪聲,傳輸過程中的誤差以及人為因素等,均會使圖像質(zhì)量變差,使圖像模糊。本設(shè)計中二值化選擇的閾值為 選擇方法有整體閾值二值化、局部閾值二值化和動態(tài)閾值二值化等。,...,2,1,0 ,1, ????? 為空白當 為筆畫當 ( ) 二值化的關(guān)鍵在于閾值 T的選擇。否則看成筆劃,以 1表示。有劃的部分 g(i,j)小 ,白背景部分 g(i,j)大。因而,二值化的工作不再是簡單的筆劃通過與否。 二值化 二值化處理是將數(shù)字圖像轉(zhuǎn)化為由 0和 1表示的值像素矩陣形式,最簡單也是最原始的作法是將整個數(shù)字所在區(qū)域用 n*n網(wǎng)格劃分,然后將數(shù)字筆劃通過的網(wǎng)格內(nèi)填 1,不通過的網(wǎng)格內(nèi)填 0,這樣就將整個數(shù)字變?yōu)橐粋€由二值構(gòu)成的矩陣。紙張薄厚、潔白度、光潔度、書寫力度和筆劃質(zhì)量都要造成字形的變化,產(chǎn)生污點、飛白、斷筆、交連等干擾。而本文是通過大量的樣本訓練網(wǎng)絡(luò),以達到預期的識別率。 對于數(shù)字的預處理,人們己作了許多工作,但歸根結(jié) 底有下面幾步 : 首先是將數(shù)字轉(zhuǎn)化為 n*n像素點矩陣形式,再經(jīng)二值化處理,可以得到原始的輸入表達方式。另一類則是對這種原始像素點構(gòu)成的原始輸入樣本再作進一步的預處理或變換。 表 43 單步執(zhí)行命令的快捷鍵 命令 快捷鍵 Step Over F10 Run to Cursor(運行到光標處 ) Ctrl+F10 Step Into(步進到) F11 基于 VC++的數(shù)字識別系統(tǒng)的設(shè)計與實現(xiàn) 25 Step Out(步出) Shift+F11 像預處理 神經(jīng)網(wǎng)絡(luò)為數(shù)字識別提供一個強有力的手段。 Debug菜單中的很多分步命令都有快捷鍵,可簡化程序的執(zhí)行。 除了使用斷點外,還可以使用 Debug菜單上的 Break選項隨時中斷程序執(zhí)行。如果單擊斷點旁邊這一對號,則斷點被禁用。 既可以啟用斷點,也可以禁用斷點。首先,可以在源文件內(nèi)的任意位置設(shè)置斷點,如注釋行,括號等,然而,當在注釋行、括號等行 設(shè)置斷點后 VC++并不執(zhí)行編譯。 Visual Studio在相應的行左邊放置一個大紅點來表示斷點。 VC++集成調(diào)試程序的兩個重要特征是將斷點插入到程序代碼中的能力以及逐步執(zhí)行(一次執(zhí)行一條指令)程序代碼的能力。 VC應用中 很重要的一點是要學會如何調(diào)試程序,程序如此龐大如果不回調(diào)試程序,哪里出了錯是很難找到的。在系統(tǒng)中設(shè)置了新類 CChildview,子窗口菜單由此新類來處理。 MFC默認的菜單項是屬于 CMmainFrame類的,名稱為 IDR_MAINFRAME. 基于 VC++的數(shù)字識別系統(tǒng)的設(shè)計與實現(xiàn) 24 創(chuàng)建一個菜單資源后,下一步的運行 ClassWizard,為各個菜單項創(chuàng)建代碼,ClassWizard將各個菜單項作為一個由 C++類表示的獨立用戶界面元素。每個菜單項所對應的 ID是唯一的, Caption字段中包含實際顯示在菜單中的文本, Prompt字段是用戶“瀏覽”某個菜單項時希望顯示在窗口底端狀態(tài)欄中的文本。 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ī)格化 程序設(shè)計相關(guān)內(nèi)容介紹 首先建立一個用戶界面的菜單。操作函數(shù)類定義了對 DIB文件的各類實際操作和變換,這個類的函數(shù)可以改寫 DIB的數(shù)基于 VC++的數(shù)字識別系統(tǒng)的設(shè)計與實現(xiàn) 23 據(jù)所以是個核心函數(shù)類 。初始化函數(shù)類用來創(chuàng)建 DIB,讀入 DIB數(shù)據(jù),保存 DIB文件和釋放 DIB內(nèi)存空間等 。 Lpbi = (LPBITMAPINFO)G lobalLock(HDIB): Lpbih = (LPBITMAPINFOHEADER)lp bi。 數(shù)據(jù)成員 數(shù)據(jù)成員很少,只有四個,都定義為公有變量 public: HDIB mhDib //DIB位圖句柄 CPalette *m_pPalette //位圖調(diào)色板類成員對象指針 CBitmap * m_pBit
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1