基于标准C语言的数字图像处理基本框架2 基于标准C语言的数字图像处理基本框架2 (2010-04-01 14:03:58) 1 19#ifndef BMP_H_INCLUDED 20#define BMP_H_INCLUDED 21 22#include <ctype.h> 23#include <stdio.h> 24#include <stdlib.h> 25#include <malloc.h> 26#include <string.h> 27 28 31typedef unsigned short WORD; 32typedef unsigned long DWORD; 33typedef long LONG; 34typedef unsigned char BYTE; 35 36 37typedef struct tagBITMAPFILEHEADER { 38 WORD bfType; 39 DWORD bfSize; 40 WORD bfReserved1; 41 WORD bfReserved2; 42 DWORD bfOffBits; 43} BITMAPFILEHEADER; 44 45 46typedef struct tagBITMAPINFOHEADER { 47 DWORD biSize; // 结构长度 40B 48 LONG biWidth; 49 LONG biHeight; 50 WORD biPlanes; // 1 51 WORD biBitCount; // 表示颜色要用到的位数 52 DWORD biCompression; // 压缩格式 53 DWORD biSizeImage; // 位图占用字节数=biWidth'(4的整倍数)*biHeight 54 LONG biXPelsPerMeter; // 水平分辨率 55 LONG biYPelsPerMeter; // 垂直分辨率 56 DWORD biClrUsed; // 本图像用到的颜色数 57 DWORD biClrImportant; // 本图像的重要颜色数 58} BITMAPINFOHEADER; 59 60 61typedef struct tagRGBQUAD { 62 BYTE rgbBlue; 63 BYTE rgbGreen; 64 BYTE rgbRed; 65 BYTE rgbReserved; 66} RGBQUAD; 67 68 69typedef struct tagBITMAPINFO { 70 BITMAPINFOHEADER bmiHeader; 71 RGBQUAD bmiColors[1]; 72} BITMAPINFO; 73 74 75typedef struct _Bitmap 76{ 77 BITMAPFILEHEADER bmfh; 78 BITMAPINFOHEADER bmih; 79 int width; 80 int height; 81 int bitCount; // 8 或者24 82 int imageSize; // 图像数据大小(imageSize=height*widthStep)字节 83 BYTE* imageData;//排列的图像数据 84 int widthStep; //排列的图像行大小 85}Bitmap;