图像的颜色
色度学理论认为,任何颜色可由红、绿、蓝三种基本颜色混合得到。 图像可用红、绿、蓝三原色来表示。
计算机屏幕上显示出来的画面通常有两种描述方法:一种为图形,另一种为图像。
图形:
由指令集合组成; 指令由位置、形状、颜色等描述。 记录的是坐标值; 颜色隐含,统一描述。 显示时执行命令,转变为屏幕上所显示的形状和颜色。
图像:
光度值(亮度或彩色); 位置按规则方式排列; 坐标值隐含。
图像空间分辨率 :
指图像数字化的空间精细程度。
灰度级分辨率:
即颜色深度,表示每一像素的颜色值所占的二进制位数。颜色深度越大则能表示的颜色数目越多。
图像处理的目的:
1)提高图像的视感质量,达到赏心悦目的目的。 图像去除噪声,改变图像的亮度、颜色,增强图像中的某些成份、抑制某些成份,对图像进行几何变换等,从而改善图像的质量。
2)提取图像中某些特征, 以便于分析。 常用作模式识别、计算机视觉的预处理等。这些特征包括很多方面,如频域特性、灰度/颜色特性、边界/区域特性、纹理特性、形状特性等。
3)图像识别 在分析的基础上,进行内容识别,例如:汽车牌照识别,人脸识别、虹膜识别、指纹识别等。
4)对图像数据压缩,便于存储和传输。 提高存储量,提高网络的速度。
数字图像技术:
1. 图像获取、表示和表现
2. 图像复原
3. 图像增强
4. 图像分割
5. 图像分析
6. 图像重建
7. 图像压缩编码
图像的存储格式:
按照颜色深度分类,常用图像文件:
黑白图像
8位索引图像
24位真彩色图像
彩色图像:
是指每个像素的信息由RGB三原色构成的图像,其中RGB是由不同的灰度级来描述的。
8位伪彩色索引图像:
(1) 颜色表红、绿、蓝分量值不全相等。 (2) 像素值是图像颜色表的索引地址。
真彩色图像表示:
(1)每一像素由RGB三个分量组成。 (2)每个分量各占8位,取值范围为0~255,每个像素24位。
图像的文件格式:
(1) BMP(BitMaP)格式
(2) GIF(Graphics Interchange Format)格式
(3) TIFF(Tagged Image Format File)格式
(4) JPEG(Joint Photographic Expert Group)格式
GIF主要用于不同平台上交流和传输,而不是作为文件的存储格式。
最大不能超过64 M, 颜色最多为256色。
TIF文件的设计考虑了扩展性、方便性和可修改性,是最复杂的一种。
要求用更多的代码来控制它,结果导致文件读写速度慢,代码长。
BMP文件组成:
位图文件头结构 BITMAPFILEHEADER |
位图信息头结构BITMAPINFOHEADER |
位图颜色表RGBQUAD |
位图像素数据 |
BMP文件头:
typedef struct tagBITMAPFILEHEADER
{ WORD bfType; // BM
DWORD bfSize;// 文件大小
WORD bfReserved1;// 0
WORD bfReserved2;// 0
DWORD bfOffBits; //位图数据的起始位置,
}BITMAPFILEHEADER;
位图信息头:
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes; //
WORD biBitCount; // 每个像素所需的位数,
DWORD biCompression; // 位图压缩类型,
DWORD biSizeImage; // 位图的大小,
LONG biXPelsPerMeter; //
LONG biYPelsPerMeter; //
DWORD biClrUsed; // 颜色数
DWORD biClrImportant; // 重要的颜色数
} BITMAPINFOHEADER;
颜色表:
typedef struct tagRGBQUAD
{
BYTE rgbBlue;// 蓝色
BYTE rgbGreen; // 绿色
BYTE rgbRed; // 红色
BYTE rgbReserved;// 0
} RGBQUAD;
位图信息-- BITMAPINFO结构:
struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; // 颜色表 } BITMAPINFO; |
结构 |
数据域 |
含义 |
BITMAPFILEHEADER |
bfType |
字节“BM” |
bfSize |
文件总字节数 |
|
BfReserved1 |
0 |
|
BfReserved1 |
0 |
|
bfOffBit |
位图数据距文件头的偏移量 |
|
BITMAPINFOHEADER |
biSize |
本结构大小的字节数 |
biWidth |
宽度,单位为像素点 |
|
biHeight |
高度,单位为像素点 |
|
biPlanes |
1 |
|
biBitCount |
像素的位数(1,4,8,24) |
|
biCompression |
压缩方式(0表示不压缩) |
|
bisizeImage |
位图数据的字节数 |
|
biXpelsPerMeter |
水平分辨率(像素点/米) |
|
biYpelsPerMeter |
垂直分辨率(像素点/米) |
|
biClrUsed |
图像中使用的颜色数 |
|
biClrImportant |
图像中重要的颜色数 |
|
RGBQUAD |
rgbBlue |
蓝色 |
rgbGreen |
绿色 |
|
rgbRed |
红色 |
|
rgbReserved |
0 |
256位图文件调色板:
调色板 256项;
所占字节数:256*4=1024;
1024/16=64行;
总行数43h=4*16+3=67行;
文件头占 3行;
每行16字节,可以存储4个表项, 64*4=256个表项。