web-dev-qa-db-fra.com

Utiliser la webcam pour détecter les conditions d'éclairage et régler la luminosité de l'écran

Est-il possible que ma webcam détecte les conditions d'éclairage et règle la luminosité de l'écran en conséquence?

30
zpletan

J'ai amélioré mon tentative précédente :

import opencv
import opencv.highgui
import time
import commands


def get_image():
    image = opencv.highgui.cvQueryFrame(camera)
    return opencv.adaptors.Ipl2PIL(image)

camera = opencv.highgui.cvCreateCameraCapture(-1)

while 1:
    image = get_image()
    image.thumbnail((32, 24, ))
    image = Tuple(ord(i) for i in image.tostring())
    x = int((int((max(image) / 256.0) * 10) + 1) ** 0.5 / 3 * 10)
    cmd = ("Sudo su -c 'echo " + str(x) +
        " > /sys/devices/virtual/backlight/acpi_video0/brightness'")
    status, output = commands.getstatusoutput(cmd)
    assert status is 0

Deux problèmes avec cette approche: la luminosité de l’affichage, du moins avec ma webcam, n’est jamais inférieure à quatre, car la caméra ne fonctionne pas bien dans l’obscurité et elle risque de sauter un peu entre quatre et cinq. En tous cas,

Voici comment l'utiliser:

  1. Sudo apt-get install python-opencv
  2. Enregistrez ce script quelque part, dites ~/test.py
  3. Exécutez-le via python test.py

Au lieu de la luminosité moyenne, je reçois maintenant la luminosité maximale d'une petite vignette (c'est pour éviter les problèmes de pixels morts et la rendre plus rapide). Et au moins avec ma combinaison de lumière et de caméra, ça marche plutôt bien!

Essaie (:

11
Stefano Palazzo

Jetez un coup d'œil au projet RedShift, qui modifie la température de l'écran en fonction de votre situation géographique, comme le faisait auparavant F.Lux.

http://jonls.dk/redshift/

Les instructions d’installation et d’utilisation sont bien documentées sur le site Web et, en fonction de votre matériel et de votre moniteur, vous pouvez sentir vos yeux comme "rafraîchi" par l’effet Nice réalisé par RedShift.

2

Pour ajouter le PPA, appuyez sur Ctrl+Alt+T sur le clavier pour ouvrir le terminal. Quand il s'ouvre, lancez la commande ci-dessous:

Sudo add-apt-repository ppa:fantasyleague0629/wildguppy

Puis installez WildGuppy via:

Sudo apt-get update; Sudo apt-get install wildguppy

Fonctionne sur Ubuntu 14.04, Ubuntu 13.10, Ubuntu 13.04, Ubuntu 12.10 et Ubuntu 12.04.

Rendre WildGuppy en marche au démarrage:

Exécutez la commande pour éditer le fichier de configuration.

Sudo gedit ~/.config/autostart/wildguppy-gtk.desktop

Tapez votre mot de passe lorsque vous y êtes invité. Notez que le terminal n'affichera pas votre mot de passe lors de la saisie, il vous suffit de taper à l'esprit et d'appuyer sur Entrée.

Lorsque le fichier s'ouvre, collez le contenu ci-dessous et enregistrez-le.

[Desktop Entry]
Type=Application
Exec=wildguppy-gtk
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=WildGuppy
Name=WildGuppy
Comment[en_US]=
Comment=
2
Daniyal

Vous pouvez utiliser https://github.com/Wandersalamander/Dimmer qui fait exactement ce que vous avez demandé.

0
wandersalamander

J'ai également créé un outil C pour cela, en utilisant OpenCV. Vous pouvez le trouver sur https://launchpad.net/brightness (vous devez le compiler vous-même). J'espère que cela vous aidera.

0
pictuga