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

28

Y a-t-il un moyen de faire en sorte que ma webcam détecte les conditions d'éclairage et d'ajuster la luminosité de l'écran en conséquence?

    
posée zpletan 27.01.2011 - 23:04
la source

5 réponses

10

J'ai amélioré ma 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’écran, au moins avec ma webcam, ne descend jamais au-dessous de quatre, car l’appareil photo ne fonctionne pas bien dans l’obscurité et il peut sauter entre quatre et cinq. En tout 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, j'obtiens maintenant la luminosité maximale d'une petite image (pour éviter les problèmes de pixels morts et la rendre plus rapide). Et au moins avec ma combinaison de lumières et d'appareil photo, ça marche plutôt bien!

Essayez-le (:

    
réponse donnée Stefano Palazzo 28.01.2011 - 01:51
la source
2

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

lien

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îchis» par l’effet bénéfique de RedShift.

    
réponse donnée Geppettvs D'Constanzo 28.01.2011 - 02:51
la source
2

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

sudo add-apt-repository ppa:fantasyleague0629/wildguppy

Installez ensuite 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.

Faites fonctionner WildGuppy au démarrage:

Exécuter la commande pour modifier le fichier de configuration.

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

Saisissez votre mot de passe lorsque vous y êtes invité. Notez que le terminal n’affichera pas votre mot de passe lors de la saisie, saisissez juste et tapez 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=
    
réponse donnée Daniyal 06.06.2015 - 16:23
la source
0

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

    
réponse donnée pictuga 25.05.2011 - 22:22
la source
0

Vous pouvez utiliser lien qui fait exactement ce que vous avez demandé.

    
réponse donnée wandersalamander 17.12.2017 - 16:55
la source

Lire d'autres questions sur les étiquettes