图像处理之灰度变换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_35732969/article/details/82819802

灰度变换对图像中单个像素进行处理,它的数学表示:

s = T(r).

其中s和r分别表示处理前后的像素值,T是把像素值r映射到s的一种变换。

一些基本的灰度变换函数:线性函数对数函数幂律函数。如下图:

反转变换

s = L - 1 - r 

可以看出来是一种黑白颠倒,灰度级范围是[0,L-1]。

对数变换的通用形式:

s = c\mathbf{log}(1+r)

它将输入中范围较窄的低灰度值映射为输出中较宽范围的灰度值,用来扩展图像中的暗像素值,同时压缩更高灰度级的值。

幂律变换(伽马变换)的基本形式:

s = cr^{\gamma }

部分\gamma值将较窄范围的暗色输入值映射为较宽范围的输出值,与对数函数不同的是,随着\gamma的变化,将得到一族可能的变换曲线,如下图:

可以看出,\gamma >0\gamma <0的值所生成的曲线的效果完全相反。

有时需要突出图像中特定灰度范围的亮度,可以使用灰度级分层的处理。一种方法是将感兴趣范围内的所有灰度值显示为一个值(如“白色”),其他灰度值显示为另一个值(如“黑色”),即产生一幅二值图像;另一种方法将感兴趣范围的灰度变亮(或变暗),保持其他灰度值不变。两种方法的变换函数如下图:

 比特平面分层:一幅8比特的图像可以考虑为由8个1比特平面组成,如下图:

 其中平面1 包含图像中所有像素的最低阶比特,平面8包含图像中所有像素的最高阶比特。

举个例子:

图a是一幅8比特灰度图像,b~i是其8个1比特平面。可以看出,最后两个高阶比特平面包含了视觉上很重要的大多数数据,低阶比特平面贡献更精细的灰度细节。

参考资料:冈萨雷斯《数字图像处理》

猜你喜欢

转载自blog.csdn.net/weixin_35732969/article/details/82819802