Pertanyaan Gunakan webcam untuk merasakan kondisi pencahayaan dan menyesuaikan kecerahan layar


Apakah ada cara agar kondisi pencahayaan sensor webcam saya dan menyesuaikan kecerahan layar yang sesuai?


28
2018-01-27 22:04


asal




Jawaban:


Saya telah meningkat pada saya usaha sebelumnya:

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

Dua masalah dengan pendekatan ini: Kecerahan layar, setidaknya dengan kamera web saya, tidak pernah lebih rendah dari empat, karena kamera tidak berfungsi dengan baik dalam kegelapan, dan mungkin melewatkan sedikit antara empat dan lima. Bagaimanapun,

Ini adalah cara menggunakannya:

  1. sudo apt-get install python-opencv
  2. Simpan skrip ini di suatu tempat, katakan ~/test.py
  3. Jalankan via python test.py

Alih-alih kecerahan rata-rata, saya sekarang mendapatkan kecerahan maksimum tumbnail kecil (ini untuk menghindari masalah pixel mati dan membuatnya lebih cepat). Dan setidaknya dengan kombinasi lampu dan kamera saya, ini bekerja dengan baik!

Cobalah (:


10
2018-01-28 00:51



Perhatikan bahwa ini adalah pendekatan yang sangat sederhana. Akan sangat mudah untuk mendapatkan histogram hitam dan putih tertimbang dari gambar, bukan mean aritmetik dari piksel (merah dan biru tidak memiliki kecerahan yang sama). Juga, Anda dapat menetapkan minimum, maksimum dan mengubahnya hanya setelah tingkat keyakinan tertentu bahwa cahaya sekitar telah berubah. Tapi saya tidak repot-repot karena masalah yang saya sebutkan. Itu akan memiliki masalah yang sama seperti yang satu ini. - Stefano Palazzo♦
Hmm, baik itu bekerja seperti yang kamu katakan. :) - zpletan
@zpletan coba lagi; Saya sudah mulai dari awal. - Stefano Palazzo♦
Ini sepertinya berhasil sesuai dengan yang saya inginkan. Terima kasih! (Dan maaf karena begitu lama untuk menjawab.) - zpletan
Tidak ada highgui dari stackoverflow.com/questions/30684661/… . Apakah ada cara lain? - Daniyal


Lihatlah proyek RedShift, yang mengubah suhu layar berdasarkan lokasi geografis Anda seperti yang pernah dilakukan oleh F.Lux.

http://jonls.dk/redshift/

Petunjuk tentang menginstal dan cara menggunakan didokumentasikan dengan baik di situs web dan, tergantung pada perangkat keras Anda dan memantau Anda dapat merasakan mata Anda seperti "segar" oleh efek bagus yang dicapai oleh RedShift.


2
2018-01-28 01:51



Saya tidak berpikir ini menjawab pertanyaan, mungkin Anda harus menghapus jawaban Anda dan menjadikannya sebagai komentar atas pertanyaan aslinya. Jawaban harus selalu menjawab pertanyaan secara langsung. - Stefano Palazzo♦
tautan Anda tidak berfungsi. - TheXed
Kedengarannya seperti ini tidak memperhitungkan lingkungan Anda? Jadi jika saya berada di ruangan gelap di tengah hari, itu tidak akan melakukan apa-apa? - zpletan
@zpletan Ya, yang ini hanya mengubah warna, sesuai dengan posisi matahari. - Stefano Palazzo♦
Sisi ini link tampaknya berfungsi tanpa masalah. Stefano Palazzo, maaf jika Anda tidak menemukan jawaban saya bermanfaat. Namun, saya pikir orang lain akan merasa berguna jika Anda menyimpan jawabannya. Pilihanmu. Anda dapat memilih untuk meminta penghapusan. :) Terima kasih. - Geppettvs D'Constanzo


Untuk menambahkan AKP, tekan Ctrl+Alt+T pada keyboard untuk membuka terminal. Ketika terbuka, jalankan perintah di bawah ini:

sudo add-apt-repository ppa:fantasyleague0629/wildguppy

Kemudian instal WildGuppy melalui:

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

Bekerja pada Ubuntu 14.04, Ubuntu 13.10, Ubuntu 13.04, Ubuntu 12.10 dan Ubuntu 12.04.

Jadikan WildGuppy berjalan saat startup:

Jalankan perintah untuk mengedit file konfigurasi.

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

Ketikkan kata sandi Anda saat diminta. Perhatikan bahwa terminal tidak akan menampilkan kata sandi Anda saat mengetik, cukup ketik dan tekan enter.

Ketika file terbuka, tempel konten di bawah ini dan simpan.

[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
2018-06-06 14:23



Hai, terima kasih atas jawabannya! Ini persis apa yang saya cari di masa lalu, tapi sayangnya saya tidak menggunakan Ubuntu lagi dan tidak memiliki cara untuk menguji (meskipun saya tidak tahu mengapa tidak akan kerja). Dengan demikian, saya tidak merasa nyaman untuk menghapus status jawaban pada jawaban yang lain, tetapi berharap orang lain akan menemukan ini berguna dan akan dengan cepat dipilih ke atas jika demikian. Tepuk tangan! - zpletan
@zpletan Welcom, Saat Anda menginstal paket ini, Anda dapat menjalankan skrip python yang terletak di /opt/wildguppy/wildguppy.py. Jadi Anda bisa menggunakan paket ini di distro mana saja! Tepuk tangan! - Daniyal
@zpletan Saya juga membuat beberapa perubahan untuk menghitung rata-rata kecerahan untuk mencegah perubahan kecerahan yang cepat dan mendadak.github.com/Daniyal-Javani/autobrightness/blob/master/… - Daniyal


Saya juga membuat alat C untuk itu, menggunakan OpenCV. Anda dapat menemukannya di https://launchpad.net/brightness (Anda harus meng-compile sendiri). Saya harap ini akan membantu Anda.


0
2018-05-25 20:22



Saya telah membuatnya terkompilasi, tetapi bagaimana cara menggunakannya? - zpletan


Anda dapat menggunakan https://github.com/Wandersalamander/Dimmer yang melakukan persis apa yang Anda minta.


0
2017-12-17 15:55