1

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

4

3 回答 3

1

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

于 2011-06-21T06:44:35.687 回答
0

我在这里找到了一个看起来像 Linux 特定配方的东西

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

于 2011-06-21T07:55:24.997 回答
-4

我正在使用此处定义的方程式。

因此,要同时调整对比度和亮度,请对每个像素执行以下操作:

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()

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

于 2014-07-27T18:11:57.740 回答