實驗一圖像數(shù)據(jù)結(jié)構(gòu)與圖像文件格式.doc
《實驗一圖像數(shù)據(jù)結(jié)構(gòu)與圖像文件格式.doc》由會員分享,可在線閱讀,更多相關(guān)《實驗一圖像數(shù)據(jù)結(jié)構(gòu)與圖像文件格式.doc(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
實驗一 圖像數(shù)據(jù)結(jié)構(gòu)與圖像文件格式 一、實驗目的 分析BMP圖像文件格式,深化對圖像數(shù)據(jù)結(jié)構(gòu)和圖像文件格式的理解。 二、實驗內(nèi)容 1、讀取和顯示BMP索引色圖像 2、讀取和顯示BMP真彩色圖像 3、基于二進制文件分析BMP圖像文件結(jié)構(gòu) 三、實驗步驟 函數(shù)及符號說明: Imfinfo %獲取一張圖片的具體信息 imread %讀取圖片文件中的數(shù)據(jù) /*對于索引色圖像,使用[x,map]=imread(filename,fmt)形式讀取, 其中x為圖像矩陣*/ figure,imshow %顯示圖片 1、讀取和顯示BMP索引色圖像(包括二值圖像、灰度圖像、彩色圖像) 1.1 二值圖像(逐行輸入命令,下同) fileinfo1=imfinfo(cameraman-1.bmp,bmp); [img1,map1]=imread(cameraman-1.bmp,bmp); figure,imshow(img1, map1); 結(jié)果圖: 1.2 灰度圖像 % 16色位圖圖像的操作 fileinfo2=imfinfo(cameraman-4.bmp,bmp); [img2,map2]=imread(cameraman-4.bmp,bmp); figure, imshow(img2,map2); 結(jié)果圖: % 256色位圖圖像的操作 Fileinfo3=imfinfo(cameraman-8.bmp,bmp); [img3,map3]=imread(cameraman-8.bmp,bmp); figure, imshow(img3,map3); 結(jié)果圖: 1.3 基于索引色的彩色圖像 Fileinfo4=imfinfo(canoe-256.bmp,bmp); [img4,map4]=imread(canoe-256.bmp,bmp); figure, imshow(img4,map4); 結(jié)果圖 2、讀取和顯示BMP真彩色圖像 Fileinfo5=imfinfo(peppers.bmp,bmp); [img5,map5]=imread(peppers.bmp,bmp); figure, imshow(img5,map5); 結(jié)果圖: 3、以二進制形式讀取以上BMP文件,分析索引色和真彩色BMP圖像文件的構(gòu)成,嘗試觀察分析每一個組分分量數(shù)值以及數(shù)值間的聯(lián)系。 [fid1,mesage1]=fopen(cameraman-1.bmp,r); data1=fread(fid1); [fid2,mesage2]=fopen(cameraman-4.bmp,r); Data2=fread(fid2); [fid3,mesage3]=fopen(cameraman-8.bmp,r); Data3=fread(fid3); [fid4,mesage4]=fopen(canoe-256.bmp,r); Data4=fread(fid4); [fid5,mesage5]=fopen(peppers.bmp,r); Data5=fread(fid5); 結(jié)果圖: 四、BMP圖像文件格式特征總結(jié) 1:BMP文件組成 BMP文件由文件頭、位圖信息頭、顏色信息和圖像數(shù)據(jù)四部分組成。 2:BMP文件頭(14字節(jié)) BMP文件頭數(shù)據(jù)結(jié)構(gòu)含有BMP文件的類型、文件大小和位圖起始位置等信息。 其結(jié)構(gòu)定義如下: typedef struct tagBITMAPFILEHEADER { WORD bfType; // 位圖文件的類型,必須為BM(1-2字節(jié)) DWORD bfSize; // 位圖文件的大小,以字節(jié)為單位(3-6字節(jié)) WORD bfReserved1; // 位圖文件保留字,必須為0(7-8字節(jié)) WORD bfReserved2; // 位圖文件保留字,必須為0(9-10字節(jié)) DWORD bfOffBits; // 位圖數(shù)據(jù)的起始位置,以相對于位圖(11-14字節(jié)) // 文件頭的偏移量表示,以字節(jié)為單位 } BITMAPFILEHEADER; 3:BMP信息頭(40字節(jié)) typedef struct tagBITMAPINFOHEADER{ DWORD biSize; // 本結(jié)構(gòu)所占用字節(jié)數(shù)(15-18字節(jié)) LONG biWidth; // 位圖的寬度,以像素為單位(19-22字節(jié)) LONG biHeight; // 位圖的高度,以像素為單位(23-26字節(jié)) WORD biPlanes; // 目標設備的級別,必須為1(27-28字節(jié)) WORD biBitCount;// 每個像素所需的位數(shù),必須是1(雙色),(29-30字節(jié)) // 4(16色),8(256色)16(高彩色)或24(真彩色)之一 DWORD biCompression; // 位圖壓縮類型,必須是 0(不壓縮),(31-34字節(jié)) // 1(BI_RLE8壓縮類型)或2(BI_RLE4壓縮類型)之一 DWORD biSizeImage; // 位圖的大小,以字節(jié)為單位(35-38字節(jié)) LONG biXPelsPerMeter; // 位圖水平分辨率,每米像素數(shù)(39-42字節(jié)) LONG biYPelsPerMeter; // 位圖垂直分辨率,每米像素數(shù)(43-46字節(jié)) DWORD biClrUsed;// 位圖實際使用的顏色表中的顏色數(shù)(47-50字節(jié)) DWORD biClrImportant;// 位圖顯示過程中重要的顏色數(shù)(51-54字節(jié)) } BITMAPINFOHEADER; 4:顏色信息 typedef struct tagRGBQUAD { BYTE rgbBlue;// 藍色的亮度(值范圍為0-255) BYTE rgbGreen; // 綠色的亮度(值范圍為0-255) BYTE rgbRed; // 紅色的亮度(值范圍為0-255) BYTE rgbReserved;// 保留,必須為0 } RGBQUAD; 5:位圖數(shù)據(jù) 位圖數(shù)據(jù)記錄了位圖的每一個像素值,記錄順序是在掃描行內(nèi)是從左到右,掃描行之間是從下到上。位圖的一個像素值所占的字節(jié)數(shù): 當biBitCount=1時,8個像素占1個字節(jié); 當biBitCount=4時,2個像素占1個字節(jié); 當biBitCount=8時,1個像素占1個字節(jié); 當biBitCount=24時,1個像素占3個字節(jié); Windows規(guī)定一個掃描行所占的字節(jié)數(shù)必須是 4的倍數(shù)(即以long為單位),不足的以0填充, biSizeImage = ((((bi.biWidth * bi.biBitCount) + 31) & ~31) / 8) * bi.biHeight;- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 實驗 圖像 數(shù)據(jù)結(jié)構(gòu) 文件格式
鏈接地址:http://m.italysoccerbets.com/p-6640866.html