欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数字图像处理Python语言实现-图像低对比度判断

程序员文章站 2024-03-18 22:51:22
...

判断图像是否为低对比度图像

通过指定低亮度像素在整个图像中所占的比例来判断图像是否为低对比度图像。

Python实现代码如下:

def is_low_contrast(src,fraction_threshold=0.5, lower_percentile=1,
                    upper_percentile=99):
    # 转换为灰度图像
    src = np.asanyarray(src)
    if src.ndim == 3 and src.shape[2] in [3, 4]:
        src = cv2.cvtColor(src,cv2.COLOR_RGB2GRAY)
    # 获取图像数据类型的最大值和最小值
    dlimits = (np.iinfo(src.dtype).min, np.iinfo(src.dtype).max)
    # 计算低亮度像素在整个图像中的范围
    limits = np.percentile(src, [lower_percentile, upper_percentile])
    # 计算比例
    ratio = (limits[1] - limits[0]) / (dlimits[1] - dlimits[0])
    return ratio < fraction_threshold

程序运行结果:
数字图像处理Python语言实现-图像低对比度判断
判断为低对比度图像
数字图像处理Python语言实现-图像低对比度判断
判断为不是低对比度图像