python 图像处理 灰度变换

python 灰度变换图像处理

  • 反色变换
    • 原理讲解
      • 代码展示
        • 结果展示
  • 对数变换
    • 原理讲解
      • 代码展示
        • 结果展示

反色变换

原理讲解

python 图像处理 灰度变换_第1张图片
python 图像处理 灰度变换_第2张图片

代码展示

python 图像处理 灰度变换_第3张图片
python 图像处理 灰度变换_第4张图片
在官方给出的例子中,util.invert函数内部实现了Output=L-input操作

结果展示

python 图像处理 灰度变换_第5张图片

对数变换

原理讲解

python 图像处理 灰度变换_第6张图片
log(1+input)加1是为了避免输入数值为0时,输出为无穷大
python 图像处理 灰度变换_第7张图片
由此看来,对数变换的特点是:当输入灰度数据具有非常大的数值范围时(比如[0,10^6]),仍然可以将其压缩到较小的输出灰度值范围)
由此引出一个问题,为什么要做对比度压缩呢?
因为当对比度范围值大到我们肉眼所能分辨时,便看不出灰度的变化,因此需要压缩到我们肉眼所能分辨的对比度。
首先来说明图像是如何显示的
python 图像处理 灰度变换_第8张图片
由于实际单像素只能显示0-255的范围,所以0-25500只能映射到0-255
比如实际灰度为0-100只能以灰度1显示
实际灰度为100-200只能以灰度2显示,以此类推
python 图像处理 灰度变换_第9张图片
以上为[10,150;250,25500]的灰度显示,由于前三个灰度差异很小,我们肉眼无法分辨
经过对数变换后,矩阵变为[1.04,2.18;2.4,4.4]
有1.04-4.4的灰度范围映射到0-255
对比度明显提高
python 图像处理 灰度变换_第10张图片

代码展示

python 图像处理 灰度变换_第11张图片
图像的幅度谱值经常具有非常大的数值范围,此时需要先用对数变换将幅度谱值压缩到一个较小范围再进行显示

结果展示

python 图像处理 灰度变换_第12张图片

你可能感兴趣的:(python,图像处理)