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