VC數字圖像處理編程講座之四

VC數字圖像處理編程講座之四

ID:41032956

大小:52.50 KB

頁數:9頁

時間:2019-08-14

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

《VC數字圖像處理編程講座之四》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。

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

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

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

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

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

6、while((EndTime-BeginTime)

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

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

當前文檔最多預覽五頁,下載文檔查看全文

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

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