灰度拉伸属于线性点运算的一种。灰度拉伸。也称对比度拉伸,是一种简单的线性点运算。它扩展图像的直方图,使其充满整个灰度级范围内。
设f(x,y)为输入图像,它的最小灰度级A和最大灰度级B的定义,如下:
A = min[f(x,y)] B = max[f(x,y)]
将A和B分别线性映射到0和255,最终得到的图像g(x,y)为:
以下为源代码(C#实现)
/// <summary>
/// 全等级灰度拉伸
/// </summary>
/// <param name="srcBmp">原图像</param>
/// <param name="dstBmp">处理后图像</param>
/// <returns>处理成功 true 失败 false</returns>
public static bool Stretch(Bitmap srcBmp, out Bitmap dstBmp) {
if (srcBmp == null) {
dstBmp = null;