Use a webcam para detectar condições de iluminação e ajustar o brilho da tela

28

Existe uma maneira de fazer com que minha webcam detecte condições de iluminação e ajuste o brilho da tela de acordo?

    
por zpletan 27.01.2011 / 23:04

5 respostas

10

Eu melhorei minha tentativa anterior :

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

Dois problemas com essa abordagem: O brilho da tela, pelo menos com minha webcam, nunca fica abaixo de quatro, porque a câmera não funciona bem no escuro e pode pular um pouco entre quatro e cinco. De qualquer forma,

Isto é como usá-lo:

  1. sudo apt-get install python-opencv
  2. Salve esse script em algum lugar, diga ~/test.py
  3. Executar via python test.py

Em vez do brilho médio, agora estou obtendo o brilho máximo de uma pequena miniatura (isso é para evitar problemas com pixels mortos e torná-lo mais rápido). E pelo menos com minha combinação de luzes e câmera, funciona muito bem!

Experimente: (

    
por Stefano Palazzo 28.01.2011 / 01:51
2

Dê uma olhada no projeto RedShift, que altera a temperatura da tela com base na sua localização geográfica, como a F.Lux estava fazendo anteriormente.

link

As instruções sobre instalação e como usar estão bem documentadas no site e, dependendo do seu hardware e monitor, você pode sentir seus olhos como "atualizados" pelo belo efeito que é alcançado pelo RedShift.

    
por Geppettvs D'Constanzo 28.01.2011 / 02:51
2

Para adicionar o PPA, pressione Ctrl + Alt + T no teclado para abrir o terminal. Quando se abre, execute o comando abaixo:

sudo add-apt-repository ppa:fantasyleague0629/wildguppy

Em seguida, instale o WildGuppy via:

sudo apt-get update; sudo apt-get install wildguppy

Funciona no Ubuntu 14.04, Ubuntu 13.10, Ubuntu 13.04, Ubuntu 12.10 e Ubuntu 12.04.

Faça o WildGuppy rodando na inicialização:

Execute o comando para editar o arquivo de configuração.

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

Digite sua senha quando solicitado. Note que o terminal não exibirá sua senha ao digitar, apenas digite em mente e aperte enter.

Quando o arquivo abrir, cole o conteúdo abaixo e salve-o.

[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=
    
por Daniyal 06.06.2015 / 16:23
0

Eu também fiz uma ferramenta C para isso, usando o OpenCV. Você pode encontrá-lo no link (você precisa compilá-lo por conta própria). Espero que isso ajude você.

    
por pictuga 25.05.2011 / 22:22
0

Você pode usar link que faz exatamente o que você pediu.

    
por wandersalamander 17.12.2017 / 16:55