VC數(shù)字圖像處理編程入門_第1頁
VC數(shù)字圖像處理編程入門_第2頁
VC數(shù)字圖像處理編程入門_第3頁
VC數(shù)字圖像處理編程入門_第4頁
VC數(shù)字圖像處理編程入門_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 VC編程需要的知識C/C+語言;對Windows操作系統(tǒng)的了解(底層編程);微軟類庫MFC(Microsoft Foundation Class) Visual C+是一個可視化集成開發(fā)環(huán)境 掌握工程的概念 菜單使用介紹、Debug/Release區(qū)別等等 SDK(software development kit)方式又稱WIN32API(應(yīng)用程序接口)編程即直接調(diào)用32位Windows(WIN32)操作系統(tǒng)提供的接口函數(shù)進(jìn)行編程。 SDK編程(VC中)使用的語言是C語言。 適合底層編程和對速度要求較高的環(huán)境,比如游戲開發(fā)、驅(qū)動開發(fā)、數(shù)字圖形等 看圖像打開、高斯噪聲繪制的例子 MFC方式又稱

2、類庫編程,即程序主要不再直接跟操作系統(tǒng)API打交道(在需要的時候也可以調(diào)用API),而是使用封裝好的C+類庫。 MFC編程的好處之一:可以使用MFC向?qū)砩沙绦蚩蚣?,提高效?在這堂課中后面講的程序都是MFC程序 TC編寫的hello,world程序在VC中編譯的方法 初步確立工程的概念雙擊打開C源程序形成工程的方法;先建立工程,再逐步添加C源程序的方法 初步講解VC調(diào)試技術(shù)(步進(jìn)/變量監(jiān)視) 注意在這個程序中C和C+的部分區(qū)別 學(xué)習(xí)使用VC中的程序建立向?qū)斫⒁粋€程序框架 學(xué)習(xí)建立一個菜單、工具欄并彈出對話框顯示Hello,World! 位圖、三基色與混色、調(diào)色板的概念 有一個長寬各為2

3、00個象素,顏色數(shù)為16色的彩色圖,每一個象素都用R,G,B三個分量表示,因?yàn)槊總€分量有256個級別,要用8位即一個字節(jié)來表示,所以每個象素需要用3個字節(jié)。整個圖象要用200*200*3,約120k字節(jié)。 這幅圖中最多只有16種顏色,我們可以用一個表:表中的每一行記錄一種顏色的R,G,B值。這樣當(dāng)我們表示一個象素的顏色時,只需要指出該顏色是在第幾行,即該顏色在表中的索引值。舉個例子,如果表的第0行為255,0,0(紅色),那么當(dāng)某個象素為紅色時,只需要標(biāo)明0即可。 再來計(jì)算一下:16種狀態(tài)可以用4位表示,所以一個象素要用半個字節(jié)。整個圖象要用200*200*0.5,約20k字節(jié),再加上表占用的

4、字節(jié)為3*16=48字節(jié).整個占用的字節(jié)數(shù)約為前面的1/6! 第一部分為位圖文件頭BITMAPFILEHEADER,是一個結(jié)構(gòu),其定義如下:typedef struct tagBITMAPFILEHEADERWORDbfType;DWORDbfSize;指定文件大?。òㄟ@14個字節(jié))WORDbfReserved1;WORDbfReserved2;DWORDbfOffBits;(從文件頭到數(shù)據(jù)區(qū)的偏移量)BITMAPFILEHEADER;這個結(jié)構(gòu)的長度是固定的,為14個字節(jié)(WORD為無符號16位整數(shù),DWORD為無符號32位整數(shù)) 第二部分為位圖信息頭BITMAPINFOHEADER,其主要

5、字段如下:typedef struct tagBITMAPINFOHEADERDWORDbiSize;指定這個結(jié)構(gòu)的長度,為40 LONGbiWidth;指定圖象的寬度,單位是象素 LONGbiHeight;WORDbiBitCount;顏色的位數(shù),一般為1、4、8、24DWORDbiSizeImage;BITMAPINFOHEADER;這個結(jié)構(gòu)的長度是固定的,為40個字節(jié)(WORD為無符號16位整數(shù),DWORD無符號32位整數(shù),LONG為32位整數(shù)) biSizeImage指定實(shí)際的位圖數(shù)據(jù)占用的字節(jié)數(shù),其實(shí)也可以從以下的公式中計(jì)算出來:biSizeImage=biWidth *biHeig

6、ht要注意的是:上述公式中的biWidth必須是4的整倍數(shù)(所以不是biWidth,而是biWidth ,表示大于或等于biWidth的,離4最近的整倍數(shù)。舉個例子,如果biWidth=240,則biWidth =240;如果biWidth=241,biWidth =244)一定要注意:每行所占字節(jié)長度始終是一定要注意:每行所占字節(jié)長度始終是4的倍數(shù),或的倍數(shù),或者每行所占位長度是者每行所占位長度是32的倍數(shù)。如果不是,則需要補(bǔ)齊的倍數(shù)。如果不是,則需要補(bǔ)齊 調(diào)色板實(shí)際上是一個四元數(shù)組,則有2的iBitCount次方個元素)。數(shù)組中每個元素的類型是一個RGBQUAD結(jié)構(gòu),占4個字節(jié). type

7、def struct tagRGBQUADBYTErgbBlue;/藍(lán)色分量BYTErgbGreen; /綠色分量BYTErgbRed;/紅色分量BYTErgbReserved; /保留值RGBQUAD;注意:注意:24位真彩色圖中沒有調(diào)色板數(shù)據(jù)位真彩色圖中沒有調(diào)色板數(shù)據(jù) 第四部分就是實(shí)際的圖象數(shù)據(jù)了。 對于用到調(diào)色板的位圖,圖象數(shù)據(jù)就是該像素顏在調(diào)色板中的索引值 對于真彩色圖,圖象數(shù)據(jù)就是實(shí)際的R,G,B值。下面就2色,16色,256色位圖和真彩色位圖分別介紹。對于2色位圖,用1位就可以表示該像素的顏色(一般0表示黑,1表示白),所以一個字節(jié)可以表示8個像素。對于16色位圖,用4位可以表示一個像素的顏色,所以一個字節(jié)可以表示2個像素。對于256色位圖,一個字節(jié)剛好可以表示1個像素。對于真彩色圖,三個字節(jié)才能表示1個像素。 BMP文件的數(shù)據(jù)從下到上,從左到右的。 通過剛才建立的框架,逐步添加函數(shù),形成一個ImageDemo程序圖像讀取、顯示、像素操作程序,加深對前述D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論