【问题标题】:Adjust screen brightness and contrast using Python? [closed]使用 Python 调整屏幕亮度和对比度? [关闭]
【发布时间】:2011-06-21 06:41:52
【问题描述】:

我想使用 Python 调整屏幕亮度和对比度。有谁知道可以做到这一点的图书馆?如何使用键盘快捷键触发脚本?

【问题讨论】:

    标签: python contrast screen-brightness


    【解决方案1】:

    这是特定于操作系统的,如果没有特定于系统的绑定,可能无法实现。

    【讨论】:

      【解决方案2】:

      我发现了一个看起来像 Linux 特定配方的东西 here

      对于 windows,我认为您需要找出需要在哪个 dll 中调用的函数(可能是特定于驱动程序的)并使用 ctypes 进行所需的调用。

      【讨论】:

        【解决方案3】:

        我使用公式定义here

        所以,要同时调整对比度和亮度,对每个像素做:

        new_value = (old_value - 0.5) × contrast + 0.5 + brightness 
        

        下面是一个很好的功能来完成这项工作:

        def brightness_contrast(image, brightness = -100, contrast = 300):
            def vect(a):
                c   = contrast
                b   = 100 * brightness
                res = ((a - 127.5) * c + 127.5) + b
                if res < 0 :
                    return 0
                if res > 255:
                    return 255
                return res
        
            transform = np.vectorize(vect)
            data = transform(fromimage(image)).astype(np.uint8)
            return toimage(data)
        

        你可以这样使用它:

        img = Image.open("calibration/gland_89_0.jpg")
        brightness_contrast(img, brightness=-20, contrast=200).show()
        

        我认为这个函数应该更好,关于参数。实际上,没有限制,我应该更新代码以百分比为参数。

        【讨论】:

        • 问题问的是如何控制屏幕亮度,而不是图像亮度。
        猜你喜欢
        • 1970-01-01
        • 2014-08-07
        • 2018-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多