VC數(shù)字圖像處理編程入門(mén)

VC數(shù)字圖像處理編程入門(mén)

ID:42786126

大?。?3.00 KB

頁(yè)數(shù):16頁(yè)

時(shí)間:2019-09-22

VC數(shù)字圖像處理編程入門(mén)_第1頁(yè)
VC數(shù)字圖像處理編程入門(mén)_第2頁(yè)
VC數(shù)字圖像處理編程入門(mén)_第3頁(yè)
VC數(shù)字圖像處理編程入門(mén)_第4頁(yè)
VC數(shù)字圖像處理編程入門(mén)_第5頁(yè)
資源描述:

《VC數(shù)字圖像處理編程入門(mén)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、VC數(shù)字圖像處理編程入門(mén)山東大學(xué)信息科學(xué)與工程學(xué)院2005.9.28VC開(kāi)發(fā)環(huán)境簡(jiǎn)介VC編程需要的知識(shí)C/C++語(yǔ)言; 對(duì)Windows操作系統(tǒng)的了解(底層編程); 微軟類(lèi)庫(kù)MFC(MicrosoftFoundationClass)VisualC++是一個(gè)可視化集成開(kāi)發(fā)環(huán)境掌握‘工程’的概念菜單使用介紹、Debug/Release區(qū)別等等VC開(kāi)發(fā)的兩種方式(一)SDK(softwaredevelopmentkit)方式 又稱(chēng)WIN32API(應(yīng)用程序接口)編程 即直接調(diào)用32位Windows(WIN32

2、)操作系統(tǒng)提供的接口函數(shù)進(jìn)行編程。SDK編程(VC中)使用的語(yǔ)言是C語(yǔ)言。適合底層編程和對(duì)速度要求較高的環(huán)境,比如游戲開(kāi)發(fā)、驅(qū)動(dòng)開(kāi)發(fā)、數(shù)字圖形等看圖像打開(kāi)、高斯噪聲繪制的例子VC開(kāi)發(fā)的兩種方式(二)MFC方式 又稱(chēng)類(lèi)庫(kù)編程,即程序主要不再直接跟操作系統(tǒng)API打交道(在需要的時(shí)候也可以調(diào)用API),而是使用封裝好的C++類(lèi)庫(kù)。MFC編程的好處之一:可以使用MFC向?qū)?lái)生成程序框架,提高效率在這堂課中后面講的程序都是MFC程序VC練習(xí)一TC編寫(xiě)的‘hello,world’程序在VC中編譯的方法初步確立‘工程

3、’的概念 雙擊打開(kāi)C源程序形成工程的方法; 先建立工程,再逐步添加C源程序的方法初步講解VC調(diào)試技術(shù)(步進(jìn)/變量監(jiān)視)注意在這個(gè)程序中C和C++的部分區(qū)別VC練習(xí)二學(xué)習(xí)使用VC中的程序建立向?qū)?lái)建立一個(gè)程序框架學(xué)習(xí)建立一個(gè)菜單、工具欄并彈出對(duì)話(huà)框顯示Hello,World!圖像編程基礎(chǔ)位圖、三基色與混色、調(diào)色板的概念有一個(gè)長(zhǎng)寬各為200個(gè)象素,顏色數(shù)為16色的彩色圖,每一個(gè)象素都用R,G,B三個(gè)分量表示,因?yàn)槊總€(gè)分量有256個(gè)級(jí)別,要用8位即一個(gè)字節(jié)來(lái)表示,所以每個(gè)象素需要用3個(gè)字節(jié)。整個(gè)圖象要用200

4、*200*3,約120k字節(jié)。這幅圖中最多只有16種顏色,我們可以用一個(gè)表:表中的每一行記錄一種顏色的R,G,B值。這樣當(dāng)我們表示一個(gè)象素的顏色時(shí),只需要指出該顏色是在第幾行,即該顏色在表中的索引值。舉個(gè)例子,如果表的第0行為255,0,0(紅色),那么當(dāng)某個(gè)象素為紅色時(shí),只需要標(biāo)明0即可。再來(lái)計(jì)算一下:16種狀態(tài)可以用4位表示,所以一個(gè)象素要用半個(gè)字節(jié)。整個(gè)圖象要用200*200*0.5,約20k字節(jié),再加上表占用的字節(jié)為3*16=48字節(jié).整個(gè)占用的字節(jié)數(shù)約為前面的1/6!Windows位圖結(jié)構(gòu)位圖

5、文件頭的結(jié)構(gòu)第一部分為位圖文件頭BITMAPFILEHEADER,是一個(gè)結(jié)構(gòu),其定義如下:typedefstructtagBITMAPFILEHEADER{WORDbfType;DWORDbfSize;指定文件大?。òㄟ@14個(gè)字節(jié))WORDbfReserved1;WORDbfReserved2;DWORDbfOffBits;(從文件頭到數(shù)據(jù)區(qū)的偏移量)}BITMAPFILEHEADER;這個(gè)結(jié)構(gòu)的長(zhǎng)度是固定的,為14個(gè)字節(jié)(WORD為無(wú)符號(hào)16位整數(shù),DWORD為無(wú)符號(hào)32位整數(shù))位圖信息頭的結(jié)構(gòu)第二

6、部分為位圖信息頭BITMAPINFOHEADER,其主要字段如下:typedefstructtagBITMAPINFOHEADER{DWORDbiSize;指定這個(gè)結(jié)構(gòu)的長(zhǎng)度,為40LONGbiWidth;指定圖象的寬度,單位是象素LONGbiHeight;WORDbiBitCount;顏色的位數(shù),一般為1、4、8、24DWORDbiSizeImage;}BITMAPINFOHEADER;這個(gè)結(jié)構(gòu)的長(zhǎng)度是固定的,為40個(gè)字節(jié)(WORD為無(wú)符號(hào)16位整數(shù),DWORD無(wú)符號(hào)32位整數(shù),LONG為32位整數(shù))

7、biSizeImage字段biSizeImage指定實(shí)際的位圖數(shù)據(jù)占用的字節(jié)數(shù),其實(shí)也可以從以下的公式中計(jì)算出來(lái):biSizeImage=biWidth‘*biHeight要注意的是:上述公式中的biWidth‘必須是4的整倍數(shù)(所以不是biWidth,而是biWidth‘,表示大于或等于biWidth的,離4最近的整倍數(shù)。舉個(gè)例子,如果biWidth=240,則biWidth‘=240;如果biWidth=241,biWidth‘=244)一定要注意:每行所占字節(jié)長(zhǎng)度始終是4的倍數(shù),或者每行所占位長(zhǎng)度

8、是32的倍數(shù)。如果不是,則需要補(bǔ)齊調(diào)色板調(diào)色板實(shí)際上是一個(gè)四元數(shù)組,則有2的iBitCount次方個(gè)元素)。數(shù)組中每個(gè)元素的類(lèi)型是一個(gè)RGBQUAD結(jié)構(gòu),占4個(gè)字節(jié).typedefstructtagRGBQUAD{BYTErgbBlue;//藍(lán)色分量BYTErgbGreen;//綠色分量BYTErgbRed;//紅色分量BYTErgbReserved;//保留值}RGBQUAD;注意:24位真彩色圖中沒(méi)有調(diào)色板數(shù)據(jù)實(shí)際的位圖數(shù)據(jù)區(qū)第四部分就

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(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)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。