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

正文內(nèi)容

基于圖像分割的圖像摳取算法的研究與實現(xiàn)本科畢業(yè)論文(已改無錯字)

2022-08-21 15:20:19 本頁面
  

【正文】 應(yīng)用程序的開發(fā)過程,僅僅是對不同模板的使用而已。然而,為了實現(xiàn)如上模板或模式的支持, MFC 內(nèi)部將會有著非常復(fù)雜的實現(xiàn)過程。例如,如果要使應(yīng)用程序能夠建立在消息映射的機制上, MFC 就必須對消息映射機制的過程做很好的實現(xiàn),即對整個消息獲取,消息處理等一系列的操作都必須預(yù)定義其操作的流程及處理方式。又如,為了實現(xiàn)對 DLL 編程的支持和多線程編程的支持 , MFC 的內(nèi)部同樣必須采 用一些內(nèi)部約定的方法對其進(jìn)行如初始化,信息管理,句柄獲取等一系列必須的操作進(jìn)行處理。雖然對于大多數(shù)的用戶來說,在不明白 MFC 的一些內(nèi)部實現(xiàn)的情況下,也能做出一些良好的應(yīng)用。但是如果能夠?qū)@些不透明的實現(xiàn)有著很好的理解,那么就能夠在開發(fā)中更加的隨心所欲,甚至說對其實現(xiàn)進(jìn)行優(yōu)化。 總之, MFC 封裝了 Win32 API,OLE API, ODBC API 等底層函數(shù)的功能,并提供更高一層的接口,簡化了 Windows 編程。四川大學(xué)本科畢業(yè)論文 基于圖像分割的簡單圖像摳取算法的研究與實現(xiàn) 11 同時, MFC 支持對底層 API 的直接調(diào)用 [4,4]。 MFC 提供了一個 Windows 應(yīng)用程序開發(fā)模式, 對程序的控制主要是由 MFC 框架完成的,而且 MFC 也完成了大部分的功能,預(yù)定義或?qū)崿F(xiàn)了許多事件和消息處理,等等??蚣芑蛘哂善浔旧硖幚硎录?,不依賴程序員的代碼;或者調(diào)用程序員的代碼來處理應(yīng)用程序特定的事件 [4,5]。 MFC 是 C++類庫,程序員就是通過使用、繼承和擴展適當(dāng)?shù)念悂韺崿F(xiàn)特定的目的。例如,繼承時,應(yīng)用程序特定的事件由程序員的派生類來處理,不感興趣的由基類處理。實現(xiàn)這種功能的基礎(chǔ)是 C++對繼承的支持,對虛擬函數(shù)的支持,以及 MFC 實現(xiàn)的消息映射機制。 MDI 應(yīng)用程序構(gòu)成 上面對 MFC 的編程框架 做了介紹 ,現(xiàn)在就 MDI 應(yīng)用程序做一下簡單的分析 .使用 VC 的AppWizard 可以在很方便的情況下生成一個 MDI 應(yīng)用程序 ,這個使用 AppWizard 生成的 MDI程序框架 ,包含很多 MFC 為簡化用戶開發(fā)而生成的文件 ,它們能夠使用戶在極為方便的情況下得到想要實現(xiàn)的效果。 這些文件 可 分 為 四類:頭文件( .h),實現(xiàn)文件 (.cpp),資源文件 (.rc),模塊定義文件 (.def),等 [4,6]。 1)構(gòu)成應(yīng)用程序的對象 圖 31 解釋了該應(yīng)用程序的結(jié)構(gòu),箭頭表示信息流向。 從 CWinApp、 CDocument、 CView、 CMDIFrameWnd、 CMDIChildWnd 類對應(yīng)地派生出 CAApp、 CADoc、 CAView、 CMainFrame、 CChildFrame 五個類,這五個類的實例分別是應(yīng)用程序?qū)ο?、文檔對象、視 圖 對象、主框架窗口對象和文檔邊框窗口對象。主框架窗口包含了視 圖 窗口、工具條和狀態(tài)欄。對這些類或者對象解釋如下 [4,7]。 ① 應(yīng)用程序 四川大學(xué)本科畢業(yè)論文 基于圖像分割的簡單圖像摳取算法的研究與實現(xiàn) 12 應(yīng)用程序類派生于 CWinApp。基于框架的應(yīng)用程序必須有且只有一個應(yīng)用程序?qū)ο?,它?fù)責(zé)應(yīng)用程序的初始化、運行和結(jié)束。 并且在整個程序運行的過程 中都可以調(diào)用 theApp 對象,對其進(jìn)行引用。 ② 邊框窗口 MDI 與 SDI 應(yīng)用程序的窗口類并不一樣, MDI 是由 CMainFrame 和 CChildFrame構(gòu)成,而 SDI 應(yīng)用程序的窗口類則只有 。SDI的窗口類是從 CFrameWnd派生而來,而 MDI的窗口類則分別是從 CMDIFrameWnd和 CChildWnd 派生而來 [4,8]。 另外,如果要向應(yīng)用程序中添加工具條,狀態(tài)欄的支持,則只需要添加一些CToolBar 和 CStatusBar 類型的成員變量,以及在一個 OnCreate 消息處理函數(shù)中初始化這兩個控制窗口。 邊框窗口用來管理文檔邊框窗口、視窗口、工具條、菜單、加速鍵等,協(xié)調(diào)半模式狀態(tài)。 ③ 文檔邊框窗口 文檔邊框窗口類從 CMDIChildWnd 類派生, MDI 應(yīng)用程序使用文檔邊框窗口來包含視窗口。 ④ 文檔 文檔類從 CDocument 類派生,用來管理數(shù)據(jù),數(shù)據(jù)的變化、存取都是通過文檔實現(xiàn)的。視窗口通過文檔對象來訪問和更新數(shù)據(jù)。 ⑤ 視 圖 視類從 CView 或它的派生類派生。視和文檔聯(lián)系在一起,在文檔和用戶之間起中介作用,即視在屏幕上顯示文檔的內(nèi)容,并把用戶輸入轉(zhuǎn)換成對文檔的操作。 ⑥ 文檔模板 文檔模板類一般不需要派生。 MDI應(yīng)用程序使用多文檔模板類 CMultiDocTemplate;SDI 應(yīng)用程序使用單文檔模板類 CSingleDocTemplate。應(yīng)用程序通過文檔模板類對象來管理上述對象(應(yīng)用程序?qū)ο?、文檔對象、主邊框窗口對象、文檔邊框窗口對象、視對象)的創(chuàng)建。 2) 構(gòu)成應(yīng)用程序的對象之間的關(guān)系 這里,用圖的形式可直觀地表 示所涉及的 MFC 類的繼承或者派生關(guān)系,如圖 32 所示。 四川大學(xué)本科畢業(yè)論文 基于圖像分割的簡單圖像摳取算法的研究與實現(xiàn) 13 圖 32 所示的類都是從 CObject 類派生出來的;所有處理消息的類都是從 CCmdTarget類派生的。如果是多文檔應(yīng)用程序,文檔模板使用 CMultiDocTemplae,主框架窗口從CMdiFarmeWnd 派生,它包含工具條、狀態(tài)欄和文檔框架窗口。文檔框架窗口從CMdiChildWnd 派生,文檔框架窗口包含視,視從 CView 或其派生類派生 [4,9]。 GDI+介紹 GDI 簡介 [5] GDI 是 Graphics Device Interface 的縮寫,即圖形設(shè)備接口,它的主要任務(wù)是處理系統(tǒng)與繪圖程序之間的系統(tǒng)交換,處理 Windows 程序的圖形輸出。 在 Windows 操作系統(tǒng)下,絕大多數(shù)具備圖形界面的應(yīng)用程序都離不開 GDI,我們利用 GDI 所提供的眾多函數(shù)就可以方便的在屏幕、打印機及其它輸出設(shè)備上輸出圖形,文本等操作。 GDI 的出現(xiàn)使程序員無需要關(guān)心硬件設(shè)備及設(shè)備驅(qū)動,就可以將應(yīng)用程序的輸出轉(zhuǎn)化為硬件設(shè)備上的輸出,實現(xiàn)了程序開發(fā)者與硬件設(shè)備的隔離 , 大大方便了開發(fā)工作。 GDI+介紹 GDI+是一個庫,它提供了一個接口,此接 口允許程序員編寫與打印機,監(jiān)視器或文件等圖形設(shè)備進(jìn)行交互的 Windows 和 Web 圖形應(yīng)用程序。 所有的圖形用戶界面 (GUI)應(yīng)用程序都與硬件設(shè)備 (監(jiān)視器、打印機或掃描儀 )進(jìn)行交互,這可以表示為可讀的數(shù)據(jù)。不過程序和設(shè)備之間并不直接進(jìn)行通信,否則,就必須為與程序交互的每臺設(shè)備編寫用戶接口代碼 [6,1]。 四川大學(xué)本科畢業(yè)論文 基于圖像分割的簡單圖像摳取算法的研究與實現(xiàn) 14 為了避免執(zhí)行這種繁重的任務(wù),可以在程序和設(shè)備之間使用第三個組件。此組件將轉(zhuǎn)換和傳送由程序發(fā)送到設(shè)備的數(shù)據(jù),以及由設(shè)備發(fā)送到程序的數(shù)據(jù)。這個組件就是 GDI+庫 [6,2]。 GDI+讓程序員在設(shè)計程序時不用考慮到 具體的顯示器或打印機,直接使用由 GDI+提供的類的方法便可以在顯示器或打印機等輸出設(shè)備上進(jìn)行圖形或文本的輸出,真正做到與設(shè)備無關(guān) [6,3]。 1) GDI+的構(gòu)成 ① 二維幾何圖形的處理 [7,1] 矢量圖形由圖元 (如直線,曲線和輪廓等 )組成,圖元由坐標(biāo)中的一組點來指定。例如,一條直線可用兩個點指定,一個矩形可用給出其左上角位置的點和它的寬度與高度的數(shù)值來指定。一知簡單路徑可由直線或曲線連接起來的一組點來指定。貝塞爾曲線是一種用 4 個控制點來指點的復(fù)雜曲線。 GDI+的 Rect(矩形 )類用于存儲矩形的位置和尺寸; Pen(畫筆 )類存儲線條顏色、線寬和線條風(fēng)格的信息; Graphics(圖形 )類用于繪制直線,矩形及其它圖形;還有幾個Brush(畫刷 )類存儲用顏色圖案來填充閉合圖形和路徑的方法。 ② 顯示圖像 [7,2] 某些圖像難以或不可能使用矢量圖形技術(shù)來表示。例如,工具欄的按鈕圖標(biāo)就很難使用直線和曲線的集合來表示。一幅包含一個擁擠的足球場的高辨率數(shù)字圖像更難用矢量技術(shù)創(chuàng)建。這種類型的圖像一般都存儲為位圖。位圖是代表屏幕上單個點的顏色的數(shù)字陣列。用于存儲位圖信息 的數(shù)據(jù)結(jié)構(gòu)比用于矢量圖形的數(shù)據(jù)結(jié)構(gòu)更為復(fù)雜。所以,在 GDI+中就有幾個類用于處理這些復(fù)雜的位圖信息, CachedBitmap(緩存位圖 )類就是一個例子,該類用于在內(nèi)存中存儲位圖以便快速訪問和顯示位圖。 ③ 排版 [7,3] 排版與使用各種各樣的字體,尺寸和風(fēng)格顯示的文本有關(guān)。 GDI+為這一復(fù)雜任務(wù)提供了大量的函數(shù)來完成各種不同風(fēng)格的文本輸出。 GDI+對文本的一個重要支持,就是文本的反鋸齒 (AntiAlias)輸出,這也是 GDI+的一個新特色,該特色使得在 LCD 屏幕上繪制文 本時文本的外觀更加光滑。 2) 名字空間 GDI+,將在名字空間 Gdiplus 下面進(jìn)行工作,因此, 在 應(yīng)用程序必須聲明 [7,4]。 include pragramlib,”” using namespace Gdiplus。 四川大學(xué)本科畢業(yè)論文 基于圖像分割的簡單圖像摳取算法的研究與實現(xiàn) 15 OPENGL 簡介 OpenGL 是圖形硬件的一個軟件接口。它的主要作用是將二維或三維的對象繪入一個幀緩沖區(qū)中。對象被描述為一系列的頂點(用來定義幾何對象)或像素(用來定義圖像)。OpenGL 對數(shù)據(jù)進(jìn)行幾個步驟的處理從而將其轉(zhuǎn)換成像素, 這些像素將在幀緩沖區(qū)中形成最終需要的圖形 [8,1]。 OpenGL 工作流程 OpenGL 的工作流程如下圖示: 圖 33 在上圖中幾何頂點數(shù)據(jù)可以是頂點,線或者多邊形集等,這些數(shù)據(jù)會首先經(jīng)過運算器,再逐個圖元進(jìn)行操作,最后光柵化,再逐個片元處理直到最后寫入幀緩沖區(qū)中。而圖像像素數(shù)據(jù)則主要包括的是像素和位圖集等。圖像數(shù)據(jù)與幾何頂點數(shù)據(jù)在后期的處理過程是一致的,而在前面的處理中,圖像數(shù)據(jù)不經(jīng)過運算器,也不會進(jìn)行單個圖元的操作,它只是完成圖像操作。另外,圖像數(shù)據(jù)和 幾何頂點數(shù)據(jù)是可以通過顯示列表的方式進(jìn)行相互轉(zhuǎn)化的 [8,2]。 OpenGL 對所有的幾何圖元都采用頂點來描述,這是為了方便使用運算器來方便的進(jìn)行計算。并且很好的對各個頂點進(jìn)行操作。然后才能很好的進(jìn)行光柵化操作形成細(xì)小的圖形。而像素數(shù)據(jù)則是從存儲紋理的內(nèi)存中讀出數(shù)據(jù),以通過光柵化的方式得到圖元碎片 [8,3]。 整個流程操作的最后,圖形片元都要進(jìn)行一系列的逐個片元操作,這樣最后的象素值才能 送入幀緩沖器實現(xiàn)圖形的顯示。 OpenGL 圖形操作步驟 OpenGL 的圖形基本操作步驟如下: 1)根據(jù) 基本圖形單元建立景物模型,并且對所建立的模型進(jìn)行數(shù)學(xué)描述( OpenGL 中把:點、線、多邊形、圖像和位圖都作為基本圖形單元)。 2)把景物模型放在三維空間中的合適的位置,并且設(shè)置視點( viewpoint)以觀察所感興趣的景觀。 3)計算模型中所有物體的色彩,其中的色彩根據(jù)應(yīng)用要求來確定,同時確定光照條件、逐個頂點操作 幀緩沖區(qū) 光柵化 紋理映射 圖像操作 逐個圖元操作和圖元組裝 運算器 顯示列表 幾何頂點數(shù)據(jù) 圖像像素數(shù)據(jù) 四川大學(xué)本科畢業(yè)論文 基于圖像分割的簡單圖像摳取算法的研究與實現(xiàn) 16 紋理粘貼方式等。 4)把景物模型的數(shù)學(xué)描述及其色彩信息轉(zhuǎn)換至計算機屏幕上的象素,這個過程也就是光柵化( rasterization) [9]。 在這些步驟的執(zhí)行過程中, OpenGL 可能執(zhí)行其他的一些操作,例如自動 消隱處理等。另外,景物光柵化之后被送入幀緩沖器之前還可以根據(jù)需要對象素數(shù)據(jù)進(jìn)行操作。 四川大學(xué)本科畢業(yè)論文 基于圖像分割的簡單圖像摳取算法的研究與實現(xiàn) 17 4 GrabCut 圖像摳取算法簡介 GraphCuts 算法簡介 圖像被看成一個圖, },{ ?VG? , V 是所有的節(jié)點, ? 是連接相鄰節(jié)點的邊。圖像分割可以當(dāng)作一個二元標(biāo)記問題,每一個 Vi? ,有唯一的一個 ?ix {前景為1,背景為0 }與之對應(yīng)。所有的 ix 集合 X 可以通過最小化 Gibbs 能量 E(X)獲得 [10,1]: ? ? ? ? ? ? ? ?12, ,i i ji V i jE x E x E x x????????
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1