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

1. 基本原理

对比度拉伸是扩展图像灰度级动态范围的处理。通过在灰度级中确定两个点来控制变换函数的形状。下面是对比度拉伸函数中阈值处理的代码示例,阈值为平均值。

2. 测试结果

图源自skimage

3. 代码

 1 def contrast_stretch(input_image):
 2     '''
 3     对比度拉伸(此实现为阈值处理,阈值为均值)
 4     :param input_image: 输入图像
 5     :return: 对比图拉伸后的图像
 6     '''
 7     input_image_cp = np.copy(input_image) # 输入图像的副本
 8 
 9     pixels_value_mean = np.mean(input_image_cp) # 输入图像的平均灰度值
10 
11     # 对比图拉伸(注:该实现顺序不能颠倒)
12     input_image_cp[np.where(input_image_cp <= pixels_value_mean)] = 0
13     input_image_cp[np.where(input_image_cp > pixels_value_mean)] = 1
14 
15     output_image = input_image_cp
16 
17     return output_image

猜你喜欢

转载自www.cnblogs.com/iwuqing/p/11297259.html