图像归一化

图像归一化可对图像的灰度分布按照规则进行调整,以增强图像局部细节。

本节内容包含:

模块原理

该模块包含直方图均衡化直方图归一化均值标准差归一化三类算法。

直方图均衡化

直方图均衡化假设每一像素值在直方图上分布概率相同,则每一灰度级经过均衡化后的计算公式如下。其中:

  • k表示每一级灰度值,取值范围为:0~255。

  • nj表示灰度级为k时的累计像素和,n为输入图像的像素总数。

图 1 直方图均衡化计算公式
直方图归一化

直方图归一化的算法工作流程如下所示。

图 2 算法工作流程
  1. 计算归一化参数。具体分为如下两个子步骤。

    1. 根据预设的灰阶左端像素数量占比(left_scale)和右端像素数量占比(right_scale),计算左端像素级(LeftPos)和右端像素级(RightPos),如下图所示。

      图 3 左右端像素级计算
    2. 根据计算的左右端像素值,分别按如下公式计算图像归一化的参数scale(归一化系数)和offset(归一化偏移值)。公式中MinPos和MaxPos分别为预设的灰度值范围的最小值和最大值。

      • scale=(MinPos-MaxPos)/(LeftPos-RightPos)

      • offset= MaxPos- RightPos*scale

  2. 进行图像归一化,具体为:

    将计算出的scale和offset代入如下公式,计算目标图像像素值。其中DstGray(i,j)表示输出图像第i行j列像素值,SrcGray(i,j)表示输入图像第i行j列像素值。

    DstGray(i,j)= SrcGray(i,j)*scale+offset

均值标准差归一化

均值标准差归一化的算法工作流程和直方图归一化的基本相同,区别在于归一化参数的计算方式。

  1. 计算归一化参数sale(归一化系数)和offset(归一化偏移值),计算公式分别如下。

    • scale=SetStd/SrcStd

    • offset=SetMean-scale*SrcMean

    公式中,SetStd和SetMean分别表示预设的标准差和均值;SrcStd和SrcMean分别表示输入图像像素的标准差和均值。

  2. 进行图像归一化,具体为:

    将计算出的scale和offset代入如下公式,计算目标图像像素值。公式中,DstGray(i,j)表示输出图像第i行j列像素值,SrcGray(i,j)表示输入图像第i行j列像素值。

    DstGray(i,j)= SrcGray(i,j)*scale+offset

使用方法

该模块对前后序模块无特定要求,一般前序模块为图像源

图 4 示例

参数配置

以下仅介绍该模块的运行参数详情。通过配置运行参数,可定义当前模块如何处理输入的数据。

说明:
直方图均衡化

通过灰度直方图将图像灰度调整均匀。该方法可增强局部细节和对比度。具体原理见上文模块原理中的直方图均衡化

图 5 原图
图 6 直方图均衡化效果
直方图归一化

在指定直方图范围内进行图像归一化。该方法可增强图像局部细节和对比度,相比直方图均衡化调参更灵活。具体原理见上文模块原理中的、直方图归一化

左端比例

即上文模块原理中提及的灰阶左端像素数量占比(left_scale)。

右端比例

即上文模块原理中提及的灰阶右端像素数量占比(left_scale)。

灰度值范围

对应除去左端比例右端比例的直方图灰阶范围。

图 7 原图
图 8 直方图归一化效果
均值标准差归一化

指定直方图标准差和均值进行图像归一化,增强局部细节和对比度。具体原理见上文模块原理中的均值标准差归一化

均值

图像数据的平均值,可以影响均衡标准差归一化结果。 目标均值越大,灰度转换系数越大。

标准差

图像数据的标准差,可以影响均衡标准差归一化结果。 目标均值越大,灰度变换偏移系数越大。

图 9 原图
图 10 均值标准差归一化效果

模块结果

该模块输出结果中各项参数详情,请参见图像归一化模块的输出结果