初识图像
1、RGB颜色模式(根据人眼结构)
C=rR+gG+bB
r+g+b = 1
2、HSI颜色模式(从人的视觉系统出发)
如果在显示器上使用HSI模型来处理图像,将能得到较为逼真的效果。
RGB模型转化HSI模型公式
3、数字图像文件格式:
BMP:
位图文件头:
typedef struct tagBITMAPFLEHEADER{
WORD bfType; //类型
DWORD bfSize; //大小
WORD bfReserved1; //位图保留字,必须为0
WORD bfReserved2; //位图保留字,必须为0
DWORD bfOffBits; //数据起启位置
}BITMAPFLEHEADER;
位图信息头:
typedef struct tagBITMAPINFOHEADER{
DWORD biSize; //占用字节数
LONG biWidth; //位图的宽度
LONG biHeight; //位图的高度
WORD biPlanes; //目标设备的级别,必须为1
WORD biBitCount; //每个像素所需的位数
DWORD biCompression; //位图压缩类型(0--不压缩,1--B1—RLE8压缩,2)
DWORD biSizeImage; //位图的大小
LONG biXPelsPerMeter; //水平分辨率
LONG biYPelsPerMeter; //垂直分辨率
DWORD biClrUsed; //实际使用的颜色表中的颜色数
DWORD biClrImportant; //显示过程中重要的颜色数。
}BITMAPINFOHEADER;
4、颜色表(24位真彩色位图文件不含颜色表)
typedef struct tagRGBQUAD{
BYTE rgbBlue; //蓝色的亮度
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved; //保留
}RGBQUAD;
位图信息头+颜色表 = 位图信息。
typedef struct tagBITMAPINFO{
BITMAPINFOHEADER bmiHeader; //位图信息头
RGBQUAD bmiColors[1]; //颜色表
}BITMAPINFO;