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

正文內(nèi)容

基于vc的圖像特效顯示研究_畢業(yè)設(shè)計(編輯修改稿)

2025-08-15 09:18 本頁面
 

【文章內(nèi)容簡介】 Microsoft Visual C++ 環(huán)境 Visual C++ ,簡稱 VC 或者 , 是 微軟 推出的一款 C++編譯器 ,將“高級語言”翻譯為“ 機(jī)器語言 (低級語言)”的程序。 Visual C++是一個功能強(qiáng)大的可視化 軟件開發(fā)工具 。自 1993 年 Microsoft 公司推出 Visual C++ 后,隨著其新版本的不斷問世, Visual C++已成為專業(yè) 程序員 進(jìn)行 軟件 開發(fā)的首選工具。雖然微軟公司推出了 Visual 基于 VC++的圖像特效顯示研究 7 C++.NET(Visual C++),但它的應(yīng)用有很大的局限性,只適用于Windows 20xx、 Windows XP 和 Windows 。所以實際中,更多的是以 Visual C++ 為平臺。 MFC 簡介 微軟 基礎(chǔ)類 (Microsoft Foundation Classes),同 VCL 類似,是一種應(yīng)用程序框架,隨微軟 Visual C++開發(fā)工具發(fā)布。目前最新版本為 (截止 20xx 年 3 月),并且發(fā)布了中文版。該類庫提供一組通用的可重用的類庫供開發(fā)人員使用,大部分類均從 CObject 直接或間接 派生 ,只有少部分類例外。 MFC 實際上是微軟提供的,用于在 C++環(huán)境下編寫應(yīng)用程序的一個框架和 引擎 。 VC++是 Windows 下開發(fā)人員使用的專業(yè) C++ SDK(SDK,Standard SoftWare Develop Kit,專業(yè) 軟件 開發(fā)平臺 ), MFC 就是掛在它之上的一個輔助軟件開發(fā)包。 MFC 作為與VC++血肉相連的部分 (注意 C++和 VC++的區(qū)別: C++是一種 程序設(shè)計語言 ,是一種大家都承認(rèn)的軟件編制的通用規(guī)范;而 VC++只是一個 編譯器 ,或者說是一種編譯器 +源程序 編輯器 的 IDE( IDE 的英文全稱為“ Integrated Development Environment”,即“集成開發(fā)環(huán)境”。 ), WSPlatForm,這跟 Pascal 和 Delphi 的關(guān)系一個道理。 Pascal是 Delphi 的語言基礎(chǔ), Delphi 使用 Pascal 規(guī) 范來進(jìn)行 Win 下應(yīng)用程序的開發(fā)和編譯,卻不同于 Basic 語言和 VB 的關(guān)系。 Basic 語言在 VB 開發(fā)出來被應(yīng)用的年代已經(jīng)成了 Basic 語言的新規(guī)范, VB 新加的 Basic 語言要素,如 面向?qū)ο蟪绦蛟O(shè)計 的要素,是一種性質(zhì)上的飛躍,使 VB 既是一個 IDE,又成長成一個新的程序設(shè)計語言 )。 MFC 同 VC++集成的 VCL 一樣是一個非外掛式的 軟件包 類庫,只不過 MFC 類是微軟為 VC++專配的。 圖形設(shè)備接口 、 GDI 對象 以往許多 MSDOS 程序采用直接向視頻存儲區(qū)或打印機(jī)端口輸送數(shù)據(jù),這種做法不利之處是需要各種顯示卡 (低分辨率彩色圖形顯示卡、加強(qiáng)圖形顯示卡、圖像圖形陣列以及 VGA)或打印機(jī)驅(qū)動程序,支持所有這些設(shè)備意味著要用大量的編程來包含這些驅(qū)動程序 (為每一 基于 VC++的圖像特效顯示研究 8 個設(shè)備編定不同的代碼 )。為了減輕開發(fā)程序的難度, Windows 提供了一個抽象的接口,圖形 設(shè)備接口 Graphics Device Interface(GDI)。 另外Windows 還提供了各種顯示卡及打印機(jī)的驅(qū)動程序,這樣在寫程序時就可以不必關(guān)心顯示卡和打印機(jī)的類型,簡化了程序開發(fā)的難度。 GDI 是個抽象的概念, GDI 接口是微軟公司提供的一組繪圖函數(shù),通常稱之為 GDI 函數(shù),使用這些函數(shù)可以繪制各種圖形。 MFC 類庫對 GDI函數(shù)進(jìn)行封裝,將其封裝為不同的 GDI 對象,采用 GDI 對象進(jìn)一步簡化了圖形、圖像處理程序的開發(fā)難度。 常用到的 GDI 對象有: : 筆是一種用來畫線及繪制有形邊框的工 具,可以指定它的顏色及厚度,并且可以指定它畫實線、點(diǎn)線或虛線; : 刷子定義了一種位圖形式的像素,利用它可對區(qū)域內(nèi)部填充顏色; : 位圖是一種位矩陣,每一個顯示像素都對應(yīng)于其中的一個或多個位??梢岳梦粓D來表示圖像,也可以利用它來創(chuàng)建刷子; : 區(qū)域是由多邊形、橢圓或二者組合形成的一種范圍,可以利用它來填充、裁剪以及鼠標(biāo)點(diǎn)中測試; : 字體是一種具有某種風(fēng)格和尺寸的所有字符的完整集合,它常常被當(dāng)作資源存于磁盤中,其中有一些還 依賴于某種設(shè)備; : 調(diào)色板是一種顏色映射接口,它允許應(yīng)用程序在不干擾其他應(yīng)用程序的前提下,充分利用輸出設(shè)備的顏色描繪能力。 OpenCV 的簡介 OpenCV 概述 penCV 于 1999 年由 Intel 建立,如今由 Willow Garage 提供支持。OpenCV 是一個基于(開源)發(fā)行的跨平臺計算機(jī)視覺庫,可以運(yùn)行在 Linux、 Windows 和 Mac OS 操作系統(tǒng)上。它輕量級而且高效 ——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時提供了 Python、 Ruby、MATLAB 等語言的接口,實現(xiàn)了 圖像處理 和計算機(jī)視覺方面的很多 基于 VC++的圖像特效顯示研究 9 通用算法。 OpenCV 擁有包括 300 多個 C 函數(shù)的跨平臺的中、高層 API。它不依賴于其它的外部庫 —— 盡管也可以使用某些外部庫。 OpenCV 為 Intel Integrated Performance Primitives (IPP) 提供了透明接口。 這意味著如果有為特定處理器優(yōu)化的的 IPP 庫, OpenCV 將在運(yùn)行時自動加載這些庫。 OpenCV 的特點(diǎn) 計算機(jī)視覺市場巨大而且持續(xù)增長,且這方面沒有標(biāo)準(zhǔn) API,如今的計算機(jī)視覺 軟件 大概有以下三種: (慢,不穩(wěn)定,獨(dú)立并與其他庫不兼容) (比如 Halcon, MATLAB+Simulink) (比如 視頻監(jiān)控 ,制造 控制系統(tǒng) ,醫(yī)療設(shè)備 ) ,這是如今的現(xiàn)狀。而 標(biāo)準(zhǔn)的 API 將簡化計算機(jī)視覺程序和解決方案的開發(fā)。 OpenCV 致力于成為這樣的標(biāo)準(zhǔn) API。 OpenCV 致力于真實世界的實時應(yīng)用,通過優(yōu)化的 C 代碼的編寫對其執(zhí)行速度帶來了可觀的提升,并且可以通過購買 Intel 的 IPP 高性能多媒體函數(shù)庫 (Integrated Performance Primitives)得到更快的處理速度。右圖為 OpenCV 與當(dāng)前其他主流視覺函數(shù)庫的性能比較。 基于 VC++的圖像特效顯示研究 10 3 常見的圖像特效顯示 本章主要研究了目前比較流行的圖像特效顯示中的 柵條顯示、 馬賽克顯示、移動顯示特效和百葉 窗顯示特效的效果,分析其實用性并對相關(guān)算法進(jìn)行優(yōu)化改進(jìn)。 顯示特效方法理論概述 特效顯示基礎(chǔ) 掃描顯示圖像是最基本的特效顯示方法,可以分為上下左右四個方向的掃描顯示,對于向下的顯示它表現(xiàn)為圖像一行一行的從最頂端開始顯示圖像直到整個圖像顯示出來,效果有點(diǎn)像拉幕布的感覺 。 圖像顯示特效主要包括顯示和擦出兩大部分。顯示特效就是利用特效將圖像顯示在屏幕上的過程,而擦出是顯示的逆過程 —— 利用特效將圖像還原為背景色。特效實現(xiàn)的原理是圖像分塊顯示,簡單說來,就是將圖像分成不同的小塊,按照一定的方向、順序 先后顯示在屏幕上。 顯示特效過程 其實現(xiàn)方法為:取圖像最上面一行像素點(diǎn)顯示出來,再加上時間延遲,再取剩下的圖像部分中的最上面一行,如此循環(huán),直至整個加載入設(shè)備內(nèi)存中的圖像顯示完成。顯示特效的整個過程如圖 : 基于 VC++的圖像特效顯示研究 11 圖 顯示特效的過程 顯示特效類 其關(guān)鍵實現(xiàn)代碼如下: int SleepTime=20。 int temp=10。 for(UINT y=0。y。y+=1) { thisStretchBlt(IncX, IncY+y, //顯示在設(shè)備上的起點(diǎn) x,y坐標(biāo) ,temp, //顯示在設(shè)備上的寬度和高度 amp。dc, //源位圖設(shè)備情境對象 0, y, //提取源位圖中顯示區(qū)起點(diǎn) x,y坐標(biāo) 基于 VC++的圖像特效顯示研究 12 ,1,//提取源位圖像素寬高 SRCCOPY)。顯示模式 Sleep(SleepTime)。//時間延遲 SleepTime 默認(rèn)為 20 } 柵條顯示 柵條顯示特效的特效預(yù)覽 柵條 顯示特效的特效如圖 所示: 圖 柵條 顯示運(yùn)行效果圖 基本原理和實現(xiàn)方法 柵條顯示即交錯顯示。垂直交錯效果表現(xiàn)為:設(shè)備上端下端各出現(xiàn)一幅由橫向線條組成的圖像相對移動,直至兩圖像剛好重疊成一幅完整清晰的圖 像。 其實現(xiàn)方法為:分別取待顯示位圖的奇數(shù)行和偶數(shù)行做為向上和向下的兩幅圖,分別向上和向下移動,直至顯示到待定的位置,此時兩圖剛好組合成一幅完整的圖像。柵條顯示的基本原理如表 : 基于 VC++的圖像特效顯示研究 13 表 編程實現(xiàn) 類別 說明 圖像分塊 將圖像按照一定寬度分成橫向的圖像塊。圖像塊的編號從上到下分別為 3......n 顯示順序 編號為奇數(shù)的圖像塊從左向右移動,編號為偶數(shù)的圖像塊從右向左移動 顯示方法 ① 將 編號為技術(shù)的圖像塊向左移動距離 i,所有編號為偶數(shù)的圖像塊向右移動距離 i。 ② 延時 ③ 如果 i 不等于 nWidth,則使 i 加 1,重復(fù)步驟 ① 柵條實現(xiàn)代碼如下: int i,j。 int buf=1。//柵條的高度 取奇數(shù)跟偶數(shù)號行時用 1 int SleepTime=10。//時間延遲 int low_height=(*buf)。 int temp_height= (*2)*buf。 //當(dāng) buf!=1 時 取偶數(shù)根 buf 高度像素條后剩下的最小高度 //用于放置在最下面到最后顯示出來 使不影響整體效果 if(low_height0) thisStretchBlt(IncX,IncY+, low_height, amp。dc,0,0,low_height,SRCCOPY), Sleep(speed*buf)。//對上面提及的 low_height 高度像素條區(qū)域置圖像 for(i=1。i=。i++){ for(j=i。j=1。j) { thisStretchBlt(IncX,IncY+(j1)*2*buf,buf, amp。dc, 基于 VC++的圖像特效顯示研究 14 0,()*2*buf+(j1)*2*buf,buf,SRCCOPY)。 thisStretchBlt(IncX,IncY+temp_height(2*j1)*buf,buf, amp。dc, 0,(ij)*2*buf+buf,buf,SRCCOPY)。 //對上下出現(xiàn)的柵條進(jìn)行相對移動 } thisStretchBlt(IncX,IncY+, ,low_height, amp。dc, 0,i*2*buf,low_height,SRCCOPY)。 //對由于 buf!=1 時產(chǎn)生的圖像最后空隙進(jìn)行填補(bǔ) //填補(bǔ)的高度與上面的 buf 不同 Sleep(SleepTime*buf)。 } thisBitBlt(IncX,IncY,amp。dc,0,0,SRCCOPY)。 //對整個圖像顯示的最后一次產(chǎn)生的空隙進(jìn)行填補(bǔ) 馬賽克顯示特效 馬賽克顯示特效的特效預(yù)覽 馬賽克顯示特效如圖 所示 : 基于 VC++的圖像特效顯示研究 15 圖 馬賽克特效顯示運(yùn)行效果圖 基本原理和實現(xiàn)方法 就用 RGB 來舉例子, R( red 紅色), G( green 綠色), B( blue藍(lán)色)。這三種顏色每種都有 0~255 范圍內(nèi)的強(qiáng)度值,數(shù)字越高越亮,例如,亮紅色使用 R 值 25 G 值 0 和 B 值 0,有色光可被無色光沖淡并變亮。如藍(lán)色光與白光相遇,結(jié)果是產(chǎn)生更加明亮的淺藍(lán)色光。所以 R、 G、 B的值的不同來混合顏色。例如一張圖片,他們當(dāng)中是有很多不同顏色的小色塊的,由于這些色塊的像素非常非常的小而且密密麻麻的,而打馬賽克就是圈出一個范圍( 小色塊為整數(shù)的范圍,所以一般都用長方形或正方形去圈),把在圈內(nèi)的小色塊的 R 值全加
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1