对数变换(一些基本的灰度变换函数)基本原理及Python实现

1. 基本原理

变换形式如下

$$T(r) = clg(r+1)$$

  • c为常数

由于对数函数的导数随自变量的增大而减小,对数变换将输入窄范围的低灰度值扩展为范围宽的灰度值和宽范围的高灰度值压缩为映射为范围窄灰度值。从视觉上,通常是图片变得更亮了

2. 测试结果

对数变换,参数C=1(图源自skimage)

3. 代码

 1 def logarithmic_transformation(input_image, c):
 2     '''
 3     对数变换
 4     :param input_image: 原图像
 5     :param c: 对数变换超参数
 6     :return: 对数变换后的图像
 7     '''
 8     input_image_cp = np.copy(input_image) # 输入图像的副本
 9 
10     output_imgae = c * np.log(1 + input_image_cp.astype(int)) # 输出图像
11 
12     return output_imgae
原文地址:https://www.cnblogs.com/iwuqing/p/11297229.html