數位影像處理—學習總結

來源:互聯網
上載者:User

標籤:完全   檔案頭   width   code   ESS   判斷   short   type   知識點   

VC++數位影像處理 楊淑瀅

本文對該老師的代碼進行總結,代碼小白順便補充一下自己比較困惑的知識點,方便後續複習。

  • 對於BMP格式的映像結構分為以下四個部分:
位元影像檔案頭結構BITMAPFILEHEADER
位元影像資訊頭結構BITMAPINFOHEADER
位元影像顏色表RGBQUAD
位元影像像素資料部分

 

  • 對於位元影像的映像分為四類:
  1. 單色映像:有兩個值:0,255其中0表示黑,255表示白(也可以進行歸一化處理為0和1)。
  2. 灰階映像:帶有顏色表,相當於索引表。RGB的分量值相同。
  3. 偽彩色映像:RGB的分量不完全相同,帶有顏色表,相當於索引,整個映像256種顏色。
  4. 24位真彩色映像:沒有調色表,RGB三分量各佔8位。
  • 對於C++中結構體結構的介紹:

            在c++中如果用typedef的話:

    struct   Student   
    {   
    int   a;   
    }stu1;//stu1是一個變數  

 
    typedef   struct   Student2   
    {   
    int   a;   
    }stu2;//stu2是一個結構體類型=struct Student  

             即在C++中用typedef相當於重新命名操作,相當於對struct後面的變數重新命名。

  •   對於變數中的類型別名問題—引入標頭檔“windowsX.h"

             windef.h——基本型態定義 
             winbase.h——Kernel函數 
             wingdi.h——圖形裝置介面函數 
             winuser.h——使用者介面函數

            其中這裡主要使用的是第一個應用:基本形態定義,這裡面定義了宏,方便後面的使用。

         

1 typedef unsigned long       DWORD; 2 typedef int                 BOOL;3 typedef unsigned char       BYTE; 4 typedef unsigned short      WORD;5 typedef float               FLOAT;

於是可以將BMP映像的格式用代碼的方式展現出來

位元影像檔案頭:

1 typedef struct tagBITMAPFILEHEADER2 {3     WORD bftype;//表示2個位元組,16位的短整數,用來判斷是否為位元影像檔案類型4     DWORD bfsize;//表示4個位元組,位元影像檔案的大小。5     WORD  bfReaserved1;//位元影像檔案的保留字,必須為0.6     WORD  bfReaserved2;//位元影像檔案的保留字,必須為07     DWORD bfOffBits;//表示資料的起始位置     8 } BITMAPFILEHEADER; 

位元影像資訊頭:

typedef struct tagBITMAPINFOHEADER{DWORD biSize;//本結構所佔用位元組數LONG biWidth;//位元影像的寬度,以像素為單位LONG biHeight;//位元影像的高度,以像素為單位WORD biPlanes;//目標裝置的層級,必須為1WORD biBitCount;//每個像素所需的位元,1、4、8、24DWORD biCompression;/*位元影像壓縮類型,必須為0(不壓縮)、1(BI_RLE8壓縮類型)、2(BI_RLE4壓縮類型)之一*/DWORD biSizeImage;//位元影像的大小,以位元組為單位LONG biXPelsPerMeter;//位元影像水平解析度,每米像素數LONG biYPelsPerMeter;//位元影像垂直解析度,每米像素數DWORD biClrUsed;//位元影像實際使用的顏色表的顏色數DWORD biClrImportant;//位元影像顯示過程中重要的顏色數}BITMAPINFOHEADER;

顏色表:

typedef struct tagRGBQUAD{BYTE rgbBlue;//藍色的亮度(0~255)BYTE rgbGreen;//綠色BYTE rgbRed;//紅色BYTE rgbReserved;//保留,必須為0}RGBQUAD;

把結構體構造結束之後,來構造BMP檔案的類:

 

 

         

數位影像處理—學習總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.