Anpassen der Bildschirmhelligkeit / Kontrast in Python?

Ich muss die Bildschirmhelligkeit / den Kontrast mit Python anpassen. Es wird eine Funktion in meinem Code sein und es wird ausgeführt, wenn der Benutzer einen Schlüssel drückt, sonst wird das Skript nicht die Brigness / Kontrast ändern. Wie kann ich es in Python machen?

Vielen Dank

  • Normalisieren Sie das Histogramm (Helligkeit und Kontrast) eines Satzes von Bildern mit der Python Image Library (PIL)
  • Mit Global Contrast Normalisierung - Python pylearn2
  • Was ist der schnellste Weg, um den Farbbildkontrast mit OpenCV in Python (cv2) zu erhöhen?
  • 3 Solutions collect form web for “Anpassen der Bildschirmhelligkeit / Kontrast in Python?”

    Ich habe gefunden, was aussieht wie ein Linux-spezifisches Rezept hier .

    Für Windows, denke ich, müssen Sie herausfinden, welche Funktion Sie benötigen, um zu rufen, welche DLL (wahrscheinlich treiberspezifisch ) und verwenden Sie Ctypes , um den erforderlichen Anruf zu machen.

    Dies ist etwas, das OS-spezifisch ist und wahrscheinlich nicht ohne systemspezifische Bindungen machbar ist.

    Ich benutze hier die Gleichung.

    Also, um Kontrast und Helligkeit zur gleichen Zeit anzupassen, für jedes Pixel zu tun:

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

    Eine schöne Funktion, die den Job macht:

     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) 

    Sie können es so verwenden:

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

    Ich denke, diese Funktion sollte besser sein, in Bezug auf Paramater. Eigentlich gibt es keine Grenze, ich sollte den Code aktualisieren, um Argumente in Prozent zu machen.

    Python ist die beste Programmiersprache der Welt.