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

正文內(nèi)容

基于vc的圖像特效顯示研究_畢業(yè)設(shè)計(jì)-免費(fèi)閱讀

  

【正文】 addpoinadd_poin。i=*。 泡泡腐蝕顯示流程如圖 所示。//步數(shù)自加 } 基于 VC++的圖像特效顯示研究 30 圖 漸變百葉窗顯示運(yùn)行效果圖 算法只是用到稍為復(fù)雜的數(shù)字運(yùn)算而不用另設(shè)如數(shù)組隊(duì)列等輔助手段,這樣使運(yùn)行速度得以加快,但這樣的算法將難以理解。k+=buf1)//顯示第 i 步所有應(yīng)顯示的像素條 { if(k=)break。//定義每等份格的像素寬度 int i=0。具體實(shí)現(xiàn)是:在掃描顯示中定義 SleepTime、 temp兩個(gè)變量分別表示時(shí)間延遲和在掃描頭部模糊帶寬,以加強(qiáng)掃描條整個(gè)動(dòng)畫(huà)效果的動(dòng)感效果; 在柵條顯示中定義 SleepTime、 buf 兩個(gè)變量分別表示時(shí)間延遲和柵條寬度以應(yīng)對(duì)不同分辯率圖像或不同要求的顯示;在馬賽克顯示中加入 SleepTime、 buf分別表示時(shí)間延遲和馬賽克塊寬度,用以解決設(shè)置簡(jiǎn)單的固定寬度面對(duì)不同的分辨率的圖像時(shí)會(huì)出現(xiàn)邊緣無(wú)法顯示的現(xiàn)象。 for (int i = 0。 i nScanLine。如果按照第 8 行劃分圖像,即 m 為 8 則第一次顯示列的序號(hào)為 17..........第二次顯示的列的序號(hào)為 18............。第 i 次顯示第 i 列、第 m+i 列、第 2*m+i 列 .....i 等于 m 為止。 } // 修正圖像位置 pDCBitBlt(0, s_nOffsetY, s_nCDCWidth s_nOffsetX, nHeight, pMemDC, 0, s_nOffsetY, SRCCOPY)。 } // 修正圖像位置 pDCBitBlt(0, s_nOffsetY, s_nCDCWidth s_nOffsetX, nHeight, pMemDC, 0, s_nOffsetY, SRCCOPY)。左面采用向右移動(dòng),右面采用想做移動(dòng),故在一個(gè)循環(huán)中需要調(diào)用兩次 BitBlt 函數(shù)。在向右移動(dòng)中,圖像塊的高度是一定的,寬度會(huì)隨著時(shí)間改變不斷增加,知道等于圖像寬度為止。 (n)。 for (int i = nTileCount 1。 } int nDelayTime = 2。 k nTileCount。 int nRh = 0。如藍(lán)色光與白光相遇,結(jié)果是產(chǎn)生更加明亮的淺藍(lán)色光。dc, 0,(ij)*2*buf+buf,buf,SRCCOPY)。dc,0,0,low_height,SRCCOPY), Sleep(speed*buf)。柵條顯示的基本原理如表 : 基于 VC++的圖像特效顯示研究 13 表 編程實(shí)現(xiàn) 類(lèi)別 說(shuō)明 圖像分塊 將圖像按照一定寬度分成橫向的圖像塊。 for(UINT y=0。 基于 VC++的圖像特效顯示研究 10 3 常見(jiàn)的圖像特效顯示 本章主要研究了目前比較流行的圖像特效顯示中的 柵條顯示、 馬賽克顯示、移動(dòng)顯示特效和百葉 窗顯示特效的效果,分析其實(shí)用性并對(duì)相關(guān)算法進(jìn)行優(yōu)化改進(jìn)。它不依賴于其它的外部庫(kù) —— 盡管也可以使用某些外部庫(kù)。 GDI 是個(gè)抽象的概念, GDI 接口是微軟公司提供的一組繪圖函數(shù),通常稱(chēng)之為 GDI 函數(shù),使用這些函數(shù)可以繪制各種圖形。 MFC 作為與VC++血肉相連的部分 (注意 C++和 VC++的區(qū)別: C++是一種 程序設(shè)計(jì)語(yǔ)言 ,是一種大家都承認(rèn)的軟件編制的通用規(guī)范;而 VC++只是一個(gè) 編譯器 ,或者說(shuō)是一種編譯器 +源程序 編輯器 的 IDE( IDE 的英文全稱(chēng)為“ Integrated Development Environment”,即“集成開(kāi)發(fā)環(huán)境”。自 1993 年 Microsoft 公司推出 Visual C++ 后,隨著其新版本的不斷問(wèn)世, Visual C++已成為專(zhuān)業(yè) 程序員 進(jìn)行 軟件 開(kāi)發(fā)的首選工具。 Windows 程序特點(diǎn) Windows 下的應(yīng)用程序使用圖形設(shè)備接口( GDI)來(lái)進(jìn)行圖形輸出。數(shù)字圖像處理技術(shù)未來(lái)應(yīng)用領(lǐng)域主要有航天航空技術(shù)方面、生物醫(yī)學(xué)工程方面、通信工程方面、工業(yè) 工程方面、軍事公安方面、文化藝術(shù)方面的應(yīng)用、其它方面的應(yīng)用。從圖像反映的客觀實(shí)體尺度看,可以小到電子顯微鏡圖像,大到航空照片、遙感圖像甚至天文望遠(yuǎn)鏡圖像。該類(lèi)庫(kù)提供一組通用的可重用的類(lèi)庫(kù)供開(kāi)發(fā)人員使用。圖像理解雖然在理論方法研究上已取得不小的進(jìn)展,但它本身是一個(gè)比較難的研究領(lǐng)域,存在不少困難,因人類(lèi)本身對(duì)自己的視覺(jué)過(guò)程還了解甚少, 因此計(jì)算機(jī)視覺(jué)是一個(gè)有待人們進(jìn)一步探索的新領(lǐng)域。 目前,數(shù)字圖像處理在生物醫(yī)學(xué)、通信、流通領(lǐng)域,產(chǎn)業(yè)界、文件處理領(lǐng)域,軍事、遙感,宇宙探險(xiǎn)及日常生活中被廣泛應(yīng)用,已經(jīng)成為當(dāng)代不可缺少的一門(mén)技術(shù)。 彩色圖像 (Color Image):每幅彩色圖像是由三幅不同顏色的灰度圖像組合而成,一個(gè)為紅色,一個(gè)為綠色,另一個(gè)為藍(lán)色。視覺(jué)是人類(lèi)從大自然中獲取信息的最主要的手段,而圖像正是人類(lèi)獲取視覺(jué)信息的主要途徑,圖像處理,就是對(duì)圖像信息進(jìn)行加工以滿足人的視覺(jué)心理或應(yīng)用需求的行為。本論文闡述了基于 VC++設(shè)計(jì)圖像特效顯示的基本原理和方法,研究了現(xiàn)有的掃描特效顯示、柵條特效顯示、馬賽克特效顯示,并分析了這些顯示的相關(guān)算法,通過(guò)研究創(chuàng)新設(shè)計(jì)出兩個(gè)特效顯示 —— 漸變百葉窗特效和泡泡腐蝕特效,介紹了這兩個(gè)特效顯示的算法實(shí)現(xiàn)及軟件界面的 設(shè)計(jì)實(shí)現(xiàn)過(guò)程。 關(guān)鍵詞:特效顯示;掃描;柵條;馬賽克; VC++。根據(jù)這些采樣數(shù)目及特性的不同數(shù)字圖像可以劃分為: 二值圖像 (Binary Image): 圖像中每個(gè)像素的亮度值 (Intensity)僅可以取自 0 到 1的圖像。 基于 VC++的圖像特效顯示研究 2 數(shù)字圖像簡(jiǎn)史 數(shù)字圖像處理始于 20世紀(jì) 50 年代,之后便迅速發(fā)展,尤其是在1964 年,美國(guó)噴射推進(jìn)實(shí)驗(yàn)室( NASA JPL)使對(duì)“徘徊者 7號(hào)”探測(cè)器發(fā)來(lái)的幾千張?jiān)虑蛘掌M(jìn)行幾何校正、灰度變換、去除噪聲等處理,得到了清晰逼真的圖像,使這門(mén)技術(shù)受到了廣泛的關(guān)注,它成為這門(mén)技術(shù)發(fā)展的重要里程碑,此后數(shù)字圖像處理技術(shù)在空間研究方面得到了廣泛的應(yīng)用。人們已開(kāi)始研究如何用 計(jì)算機(jī)系統(tǒng) 解釋圖像,實(shí)現(xiàn)類(lèi)似 人 類(lèi)視覺(jué)系統(tǒng) 理解外部世界,這被稱(chēng)為圖像理解或計(jì)算機(jī)視覺(jué) 。該技術(shù)成為一門(mén)引人注目、前景遠(yuǎn)大的新型學(xué)科?,F(xiàn)代掃描儀可以把每個(gè)像素的灰度等級(jí)量化為16位甚至更高,這意味著 圖像的數(shù)字化精度可以滿足任一應(yīng)用需求。就電視畫(huà)面而言,同一行中相鄰兩個(gè)像素或相鄰兩行間的像素,其相關(guān)系數(shù)可達(dá)0.9以上,而相鄰兩幀之間的相關(guān)性比幀內(nèi)相關(guān)性一般說(shuō)還要大些。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。 面向?qū)ο?的 設(shè)計(jì)思想是在原來(lái) 結(jié)構(gòu)化程序設(shè)計(jì)方法 基礎(chǔ)上的一個(gè)質(zhì)的飛躍,C++完美地體現(xiàn)了面向?qū)ο蟮母鞣N特性。該類(lèi)庫(kù)提供一組通用的可重用的類(lèi)庫(kù)供開(kāi)發(fā)人員使用,大部分類(lèi)均從 CObject 直接或間接 派生 ,只有少部分類(lèi)例外。 圖形設(shè)備接口 、 GDI 對(duì)象 以往許多 MSDOS 程序采用直接向視頻存儲(chǔ)區(qū)或打印機(jī)端口輸送數(shù)據(jù),這種做法不利之處是需要各種顯示卡 (低分辨率彩色圖形顯示卡、加強(qiáng)圖形顯示卡、圖像圖形陣列以及 VGA)或打印機(jī)驅(qū)動(dòng)程序,支持所有這些設(shè)備意味著要用大量的編程來(lái)包含這些驅(qū)動(dòng)程序 (為每一 基于 VC++的圖像特效顯示研究 8 個(gè)設(shè)備編定不同的代碼 )。OpenCV 是一個(gè)基于(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在 Linux、 Windows 和 Mac OS 操作系統(tǒng)上。 OpenCV 致力于成為這樣的標(biāo)準(zhǔn) API。 顯示特效過(guò)程 其實(shí)現(xiàn)方法為:取圖像最上面一行像素點(diǎn)顯示出來(lái),再加上時(shí)間延遲,再取剩下的圖像部分中的最上面一行,如此循環(huán),直至整個(gè)加載入設(shè)備內(nèi)存中的圖像顯示完成。//時(shí)間延遲 SleepTime 默認(rèn)為 20 } 柵條顯示 柵條顯示特效的特效預(yù)覽 柵條 顯示特效的特效如圖 所示: 圖 柵條 顯示運(yùn)行效果圖 基本原理和實(shí)現(xiàn)方法 柵條顯示即交錯(cuò)顯示。//時(shí)間延遲 int low_height=(*buf)。j) { thisStretchBlt(IncX,IncY+(j1)*2*buf,buf, amp。dc,0,0,SRCCOPY)。最后把上面總 R 值的平均數(shù)為 R 值,上面總 G 值的平均數(shù)為 G 值,上面總 B值的平均數(shù)為 B 值,就形成了一種顏色,然后就把這種顏色涂滿圈內(nèi),這樣就形成了馬賽克 。 // 保存 所有小方塊的左上坐標(biāo) longlx = 0。 if (lx = s_nPicWidth) { lx = 0。 QueryPerformanceCounter(amp。 ly = pointy。 圖 向右移動(dòng)顯示特效 同樣,組合四種基本的移動(dòng)方法可以得到其它的效果。每復(fù)制一次,圖像塊的寬度加 nWidth1,而第 i 次需要從源圖像( nWidthi, 0)處復(fù)制右面 寬度為i 的圖像。 i = s_nCDCWidth s_nOffsetX。 i += 2) { // 左面部分 pDCBitBlt(0, s_nOffsetY, i, nHeight, pMemDC, nWidth / 2 i + s_nOffsetX, s_nOffsetY, SRCCOPY)。 基于 VC++的圖像特效顯示研究 22 圖 垂直百葉窗顯示特效 基本原理和實(shí)現(xiàn)方法 百葉窗首先需要確定圖像塊的高度或?qū)挾?。j+=nScanLine) pDCBitBlt(j+1,pMemDC,j+i,0,SRCCOPY) 其中 nScanLine 為圖像塊的總列數(shù),圖中的 m。 // 掃描寬度 基于 VC++的圖像特效顯示研究 24 int nWidth = min(s_nPicWidth, s_nCDCWidth)。 } } *作用 : 水平百葉窗特效 ******************************************************************************/ void EffectDisplay::HBlindDisplay(CDC* pDC, CDC* pMemDC) { // 掃描高度 int nHeight = min(s_nPicHeight, s_nCDCHeight)。 } DelayTime(50)。 特效顯示算法描述:在橫向向右的 顯示特效中,圖像被分成 N 等份(或由于不能等分成 N份使得最后一份稍?。┴Q條,顯示從最左端開(kāi)始每次顯示一個(gè)單位像素的寬度豎條 ,高度為圖像高度,第一步顯示第一格的左邊第一像素條,第二步顯示第一格的左邊第二像素條同時(shí)顯示第二格的左邊第一像素條,第三步顯示第一格左邊第三像素條、第二格左邊第二像素條和第三格左邊第一像素條,每一步都加上時(shí)間延遲,如此循環(huán)下去,直到最后一格最后一像素條顯示完成。//左第一格已經(jīng)顯示完 ,如 buf 為 10,則第 i步應(yīng)該 Rate=ibuf+1。//顯示第 k坐標(biāo)條像素條 //IncX,IncY 為傳遞進(jìn)來(lái)的圖像顯示左上點(diǎn)坐標(biāo) } Sleep(50)。 算法實(shí)現(xiàn)基本思路:由于對(duì)隨機(jī)產(chǎn)生的泡泡還需要使其產(chǎn)生擴(kuò)大的效果,不能通過(guò)簡(jiǎn)單的計(jì)算得到,也不能使用數(shù)組記錄下來(lái),所以在設(shè) 計(jì)中引入了隊(duì)列進(jìn)行保存各泡泡中心點(diǎn)坐標(biāo)以及泡泡半徑和擴(kuò)大速度(擴(kuò)大的速度都是變慢的,所以設(shè)計(jì)中以另一個(gè)速度因子 speed 基于 VC++的圖像特效顯示研究 31 表示,把每個(gè)泡泡運(yùn)算一遍看是否擴(kuò)大做為整個(gè)程序運(yùn)行的一步,那么一個(gè)泡泡需要經(jīng)過(guò)一步便擴(kuò)大一次半徑或都要經(jīng)過(guò) N步才擴(kuò)大一次半徑,這個(gè) N 便是速度因子)。//泡泡擴(kuò)大時(shí)擴(kuò)大的半徑像素?cái)?shù) srand((unsigned)time(NULL))。amp。//新泡泡顯示因子 =rand()%。//記錄已經(jīng)顯示出來(lái)的點(diǎn)個(gè)數(shù) int length_Queue=0。 //進(jìn)出隊(duì)列及運(yùn)算顯示的點(diǎn), QElem用于保存泡泡點(diǎn)信息的數(shù)據(jù) const add_poin=15。 泡泡腐蝕顯示 泡泡腐蝕在設(shè)計(jì)的時(shí)候是由馬賽克顯示聯(lián)想到下雨的時(shí)候地面被打濕的現(xiàn)象 ,這也有些類(lèi)似于馬賽克顯示,但是又在隨機(jī)顯示的同時(shí)加入了有規(guī)律性跟雨滴大小的不定性。 //j=buf時(shí)一步顯示格數(shù)不能超過(guò) buf格 ,而且計(jì)算坐標(biāo)將不正確 thisStretchBlt(IncX+k,IncY,1, amp。 //左第一條的 x Rate=0。通過(guò)實(shí)驗(yàn)分析圖像特效顯示最終效果,提出待改進(jìn)之處。 j nHeight。 j += nScanLine) { pDCBitBlt(j + i + s_nOffsetX, s_nOffsetY, 1, nHeight, pM
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1