数字图像处理学习小结(1)———图像存储

1、图像的存储格式

1)黑白图像

数字图像处理学习小结(1)———图像存储_第1张图片
图片只有黑色和白色,分别用对应的二进制编码0和1进行存储。

2)8位索引图像

将一个图像存储为一个数据矩阵X和一个调色板矩阵MAP
数字图像处理学习小结(1)———图像存储_第2张图片
数据矩阵如上图,用来存储一张图片各像素的颜色索引,通过索引查询调色板,如下图
数字图像处理学习小结(1)———图像存储_第3张图片

3)灰度图像

各像素信息由一个量化的灰度级来描述,没有彩色信息。如下图,意思就是用灰度深浅变化描述一张图。
数字图像处理学习小结(1)———图像存储_第4张图片
灰度图像除了用矩阵表示,也可以用8位索引方式,调色板矩阵进行灰度索引。

4)彩色图像

方式1: 8位彩色索引,调色板矩阵进行RGB值索引。
方式2: 真彩色图像表示,每一个像素用RGB值表示。
数字图像处理学习小结(1)———图像存储_第5张图片

2 图像文件格式

  1. BMP 格式:标准格式
  2. GIF格式:用于不同平台上交流和传输, 而不是作为文件的存储格式。
  3. TIFF格式:考虑了扩展性、方便性和可修改性,是最复杂的一种
  4. JPEG格式

1)BMP文件存储格式

a BMP文件组成

BMP文件结构
位图文件头结构
位图信息头结构
位图颜色表
位图像素数据

b 文件头

typedef struct tagBITMAPFILEHEADER
{
	WORD bfType; // BM 2字节
	DWORD bfSize;// 文件大小 4字节
	WORD bfReserved1;// 0 2字节
	WORD bfReserved2;// 0 2字节
	DWORD bfOffBits; //位图数据的起始位置,即位图文件头+位图信息头+调色板 的大小 4字节
}BITMAPFILEHEADER;

c 信息头

typedef struct tagBITMAPINFOHEADER
{
	DWORD biSize;//位图信息头的大小,为40 
	LONG biWidth;//位图宽度
	LONG biHeight;//位图高度
	WORD biPlanes; //固定为1
	WORD biBitCount; // 每个像素所需的位数,1-黑白图,4-16色,8-256色,24-真彩色
	DWORD biCompression; // 位图压缩类型,0为不压缩
	DWORD biSizeImage; // 位图的大小,即位图全部像素占用的字节数
	LONG biXPelsPerMeter; //水平分辨率
	LONG biYPelsPerMeter; //垂直分辨率
	DWORD biClrUsed; // 颜色数
	DWORD biClrImportant; // 重要的颜色数 0为所有都重要
}BITMAPINFOHEADER;

d 颜色表

typedef struct tagRGBQUAD
{
	BYTE rgbBlue;// 蓝色
	BYTE rgbGreen; // 绿色
	BYTE rgbRed; // 红色
	BYTE rgbReserved;// 0
} RGBQUAD;

e 位图信息

struct tagBITMAPINFO
{
	BITMAPINFOHEADER bmiHeader;//信息头
	RGBQUAD bmiColors[1]; // 颜色表
} BITMAPINFO;

你可能感兴趣的:(数字图像,计算机视觉)