五、图像的文件格式
1、数字图像类型
静态图像可分为矢量(Vector)图和位图(Bitmap)。
-调色板Palette
实际上是一个数组,共有biClrUsed个元素。数组中每个元素的类型是一个RGBQUAD结构,占4个字节。
Typedef struct tagRGBQUAD{
BYTE rgbBlue; //该颜色的蓝色分量
BYTE rgbGreen; //该颜色的绿色分量
BYTE rgbRed; //该颜色的红色分量
BYTE rgbReserved; //保留值
}RGBQUAD;
真彩色图像不需要调色板,BITMAPINFOHEADER后直接是位图数据。
-实际图像数据
真彩色图像,图像数据就是实际的R、G、B值,三个字节表示1个像素。
对于用到调色板的位图,图像数据就是该像素颜色在调色板中的索引值。
2色位图,用1位就可以表示该像素的颜色(一般0表示黑,1表示白),所以一个字节可以表示8个像素。
16色位图,用4位就可以表示一个像素的颜色(一般0表示黑,1表示白),所以一个字节可以表示2个像素。
256色位图,一个字节表示1个像素。
-注意两点:
(1)每一行的字节数必须是4的整数倍,如果不是,则需要补齐。
(2)BMP文件的数据存放是从下到上,从左到右。
第三章 数字图像处理基础
一、直方图变换
最简单、最有用的工具之一。
定义:表示数字图像中每一个灰度级像素出现的频次(该灰度级的像素数目)。
p(k)=nk nk是像素中第k个灰度级的像素总数
或
p(rk)=nk/n n是图像的像素总数,rk第r个灰度级,p表示第r个灰度级出现像素的概率密度。
性质:
l 无空间信息;
l 直方图与图像一对多关系;
l 可叠加性(全图与子图像)。
对比度:最亮像素与最暗像素之比。
中间灰度级像素多,动态范围小,图像对比度低。
直方图反映了图像的清晰程度。直方图均匀分布时,图像最清晰。
判断一幅图像是否清晰,查看是否合理地利用了全部被允许的灰度级。
一幅图像应该尽可能地利用全部可能的灰度级。
-直方图均衡化
直方图修正:通过灰度映射函数Gnew=T(Gold),将原灰度直方图改造成所希望的直方图。
直方图均衡化是一种最常用的直方图修正。它是把给定图像的直方图分布改造成均匀直方图分布。
均衡化后,图像直方图是平直的。即各灰度级具有相同的出现频数,或各灰度级具有均匀的概率分布。图像得到了增强,看起来更清晰。
-直方图规定化:
修改一幅图像的直方图,使得它与另一幅图像的直方图匹配或具有一种预先规定的函数形状。
目标:突出感兴趣的灰度范围,使图像质量改善。