VC數(shù)字圖像處理編程講座之四

VC數(shù)字圖像處理編程講座之四

ID:41032956

大?。?2.50 KB

頁數(shù):9頁

時(shí)間:2019-08-14

VC數(shù)字圖像處理編程講座之四_第1頁
VC數(shù)字圖像處理編程講座之四_第2頁
VC數(shù)字圖像處理編程講座之四_第3頁
VC數(shù)字圖像處理編程講座之四_第4頁
VC數(shù)字圖像處理編程講座之四_第5頁
資源描述:

《VC數(shù)字圖像處理編程講座之四》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、VC數(shù)字圖像處理編程講座之四[導(dǎo)讀]在這一講中作者進(jìn)一步深入講解了圖像特效的顯示技術(shù)......BMP圖像顯示的特效操作  上期講座中我們主要講述了BMP圖像數(shù)據(jù)的存取、圖像的顯示和調(diào)色板的操作等內(nèi)容,在上面的學(xué)習(xí)基礎(chǔ)上,我們可以進(jìn)一步深化,學(xué)習(xí)并掌握?qǐng)D像特效顯示技術(shù)。有了這種技術(shù),可以用來在今后的項(xiàng)目開發(fā)中美化我們的軟件界面,提高軟件的視覺效果。在如今的商業(yè)軟件中,幾乎每一幅圖像的顯示都采用了圖像特效顯示,例如讀者比較熟悉的Windows的屏幕保護(hù)程序就采用了各種各樣的圖像特效顯示,使人感到眼花繚亂和耳目一新。專業(yè)圖像處理軟件更是提供了豐富的顯示方

2、式供用戶使用,可以方便的在程序中實(shí)現(xiàn)圖像的特效顯示,如PhotoShop、Authorware等。本節(jié)主要介紹如何實(shí)現(xiàn)圖像的浮雕、雕刻、百頁窗、旋轉(zhuǎn)、掃描、柵條、馬賽克、和漸顯漸隱顯示等效果。通過這期講座的學(xué)習(xí),讀者朋友們也可以自己動(dòng)手制作擁有特效顯示效果的軟件了。圖像的顯示我們講過主要有BitBlt()、SetDIBitsToDevice()和StretchDIBits()等函數(shù)。需要讀者注意的是,在特效顯示時(shí),并不是每個(gè)顯示函數(shù)都適宜,BitBlt()函數(shù)主要是用來顯示設(shè)備無關(guān)位圖(DDB),后兩個(gè)函數(shù)用來顯示設(shè)備無關(guān)位圖(DIB)。由于我們講座

3、里處理的是設(shè)備無關(guān)位圖,所以我們主要關(guān)心的是后兩個(gè)函數(shù)的應(yīng)用,其中SetDIBitsToDevice()使用起來較死板,遠(yuǎn)不如StretchDIBits()用的靈活,并且對(duì)大多數(shù)的特效顯示無能為力,所以為了實(shí)現(xiàn)圖像的特效顯示效果,需要使用StretchDIBits()函數(shù)來顯示圖像,具體什么原因,我想可能是微軟在實(shí)現(xiàn)這些函數(shù)時(shí)使用的方法不同吧。這些函數(shù)如何使用,各個(gè)參數(shù)的含義,可以參考微軟的MSDN。  實(shí)現(xiàn)圖像的特殊效果的顯示的基本思路是要么是操作圖像的像素,要么是對(duì)圖像分塊按一定的方向或次序,分階段的顯示或擦除對(duì)應(yīng)的圖像塊。對(duì)于第二種顯示的思路,

4、其中的要點(diǎn)是:1.劃分圖像塊;2.確定圖像塊的操作次序;3.顯示或清除對(duì)應(yīng)的圖像塊;4.在兩個(gè)連續(xù)顯示的圖像塊之間插入一個(gè)固定的延遲。其中圖像塊的劃分決定了圖像的顯示方式,圖像塊的顯示順序決定了顯示的方向和細(xì)分的依據(jù)。不同的效果決定了不同的分塊方法和顯示次序,我們將在后面的各種特效顯示中介紹如何分塊和決定次序。為了使圖像的顯示過程明顯的表現(xiàn)出來,實(shí)現(xiàn)顯示的特效,就需要在圖像塊的依此顯示中插入固定的延遲。也許讀者朋友會(huì)想到利用sleep()函數(shù)或用Settime()來實(shí)現(xiàn)延遲,由于Windows是個(gè)基于消息的多任務(wù)操作系統(tǒng),這些方法所產(chǎn)生的延遲時(shí)間對(duì)于

5、圖像的顯示來說是不精確的,為了實(shí)現(xiàn)與機(jī)器無關(guān)的更精確的時(shí)間延遲,可以采用timeGetTime()函數(shù)來產(chǎn)生微秒級(jí)的延遲。使用這個(gè)函數(shù)時(shí)為了編譯不產(chǎn)生錯(cuò)誤,要在連接設(shè)置中引入“Winmm.lib”庫,并要包含頭文件“Mmsystem.h”。這里我們首先給出一個(gè)延遲函數(shù),它用來實(shí)現(xiàn)固定時(shí)間的延遲:voidDelayTime(DWORDtime){DWORDBeginTime,EndTime;BeginTime=timeGetTime();//得到當(dāng)前的系統(tǒng)時(shí)間、單位為微秒;do{EndTime=TimeGetTime();//再次得到當(dāng)前的系統(tǒng)時(shí)間;}

6、while((EndTime-BeginTime)

7、其實(shí),我們完全可以用一些簡單的數(shù)字圖像處理算法來實(shí)現(xiàn)這些看似復(fù)雜高深的顯示效果。下面以一個(gè)標(biāo)準(zhǔn)的Lena灰度圖像為原圖,給出了處理后的效果圖,同時(shí)給出了VC開發(fā)平臺(tái)上的部分實(shí)現(xiàn)源代碼?! ?."浮雕"圖像  "浮雕"圖象效果是指圖像的前景前向凸出背景。所謂的"浮雕"概念是指標(biāo)繪圖像上的一個(gè)像素和它左上方的那個(gè)像素之間差值的一種處理過程,為了使圖像保持一定的亮度并呈現(xiàn)灰色,我在處理過程中為這個(gè)差值加了一個(gè)數(shù)值為128的常量。需要讀者注意的是,當(dāng)設(shè)置一個(gè)像素值的時(shí)候,它和它左上方的像素都要被用到,為了避免用到已經(jīng)設(shè)置過的像素,應(yīng)該從圖像的右下方的像素開始

8、處理,下面是實(shí)現(xiàn)的源代碼:voidCDibView::OnFDImage()//產(chǎn)生"浮雕"效果圖函數(shù){ H

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。