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

Posted iwuqing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对比度拉伸(一些基本的灰度变换函数)基本原理及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

 

以上是关于对比度拉伸(一些基本的灰度变换函数)基本原理及Python实现的主要内容,如果未能解决你的问题,请参考以下文章

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

-灰度变换与空间滤波(空间域)

分段线性变换与直方图修正

对比度增强(上)线性变换

图像的点运算----底层代码与Halcon库函数

OpenCV C++(四)----对比度增强