数字图像处理与机器视觉-3-图像灰度变换(2)

上一篇: 数字图像处理与机器视觉-2-图像灰度变换(1)

灰度阈值变换

将一幅灰度图转换成黑白的二值图像,具体表达式为:

其作用是,将图像内容划分为关心和不关心两个部分,提取出感兴趣的特征,是图像分割的这一种重要手段。

MATLAB中有两个相关的函数:im2bw(I,level)和graythresh(I);
im2bw是直接将灰度图转换成二值图,level为手动设置阈值;
graythresh是自己根据输入灰度图像I来计算最优阈值;
效果如下:
数字图像处理与机器视觉-3-图像灰度变换(2)_第1张图片
由graythresh计算得到的level,基本上保留了任务的面部轮廓特征,自定义设置阈值level = 0.5098时,可以看到脸部轮廓边缘部分比较粗糙,有很多类似的噪点,图像二值化后需要进一步地处理;

分段线性变换

利用分段线性函数来增强图像对比度的方法,增强原图各部分的反差,即增强输入图像中感兴趣的灰度区域,同时弱化不感兴趣的灰度区域,其表达式为:
数字图像处理与机器视觉-3-图像灰度变换(2)_第2张图片

分段函数图像如下:
数字图像处理与机器视觉-3-图像灰度变换(2)_第3张图片
配合分段函数图,尝试理解下。

如果一幅灰度图,其像素点大部分是偏暗的值,图像整体偏暗,可以将第1段直线的斜率调大。相应的,在给定灰度输入区间内计算得到的灰度输出值相应会变大,输出图像暗部整体偏亮,并且输出灰度值的差异更加明显,对比度会增强;

同理,如果其像素点大部分是偏亮的值,图像整体偏亮,可以将第3段直线的斜率降低。相应的,在给定灰度输入区间内计算得到的灰度输出值相应会变小,输出图像亮部整体偏按,输出灰度值差异变小,对比度相应降低;

顺便补充下 MATLAB函数编写
MATLAB矩阵常见的函数: ndims(a)、length(a)、size(a)
isa 判断输入参量是否为指定类型

看下效果图:
数字图像处理与机器视觉-3-图像灰度变换(2)_第4张图片
总的来说,灰度变换是一种基本的图像处理方法,其变换方式有:线性变换,对数变换,伽马变换(指数变换),阈值变换和分段变换。

我是按照其对应的函数表达式在坐标轴中的曲线来理解这积累变换的作用的。通过观察函数的一些指标(增减性、斜率和区间)来选择合适的变换方法。其主要作用是增强对比度,保留或放大我们需要的图像细节,弱化和去掉我们不需要的部分。

下一篇: 数字图像处理与机器视觉-4-直方图均衡化

你可能感兴趣的:(图像处理,图像处理,机器视觉,MATLAB,灰度变换)