我想使用cron和这个脚本(http://askubuntu.com/questions/23593/use-webcam-to-sense-lighting-condition-and-adjust-screen-brightness):

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

crontab:/ 30 *** sudo python /home/username/screen.py

但是,有两个问题:

首先,可以在5秒左右后终止while循环吗?

其次,有人可以尝试改进脚本,以便可以使用脚本设置较低的亮度级别吗?也许需要改变256个亮度级别映射到可以为屏幕设置的亮度级别的方式.

谢谢

解决方法:

在较旧的内核中,/ proc中有亮度控制文件,但我认为它与您的代码片段中的/ sys功能相同.在这个/ proc文件中,您可以使用几种级别的亮度,并且可能与该机制相同.尝试cat / sys / devices / virtual / backlight / acpi_video0 / brightness并检查是否有关于可能使用的亮度级别的信息.

如果删除循环,整个代码将被执行一次,因此每半小时一次只能设置一次亮度.这种解决方案没有什么缺点 – 如果你在亮度检查时盖住相机,亮度会改变,下一次读数将在半小时之后,所以你最终会看到完全黑暗的半小时.

为了避免这种情况,你可以用for循环替换while循环(例如0到5),并用它休眠5秒.在循环中,您只能检查亮度五次,循环后您可以计算平均亮度并进行设置.

编辑:平均25秒的代码:

import opencv

import opencv.highgui

import time

import commands

from time import sleep

def get_image():

image = opencv.highgui.cvQueryFrame(camera)

return opencv.adaptors.Ipl2PIL(image)

camera = opencv.highgui.cvCreateCameraCapture(-1)

x = []

for i in range(5):

image = get_image()

image.thumbnail((32, 24, ))

image = tuple(ord(i) for i in image.tostring())

x.append(int((int((max(image) / 256.0) * 10) + 1) ** 0.5 / 3 * 10))

sleep(5)

sum = 0

for i in x:

sum = sum + i

avg = sum / len(x)

cmd = ("sudo su -c 'echo " + str(avg) + " > /sys/devices/virtual/backlight/acpi_video0/brightness'")

status, output = commands.getstatusoutput(cmd)

assert status is 0

不幸的是我没有选择更换背光(旧内核或内核中缺少的东西),我没有相机来检查它是否正常工作……

标签:python,cron

来源: https://codeday.me/bug/20190813/1647458.html

python控制屏幕亮度,如何使用cron python定期调整屏幕亮度?相关推荐

  1. python获得屏幕分辨率多少合适_python调win32api调整屏幕分辨率

    在windows下想要通过python写的程序,需要调用到调整屏幕分辨率.在网上查到,需要用windows的api,ChangeDisplaySettings .在python下使用,需要先安装 py ...

  2. 使用python控制其他软件运行_使用Python与其他程序进行交互

    如果你真正在寻找的是一个很好的借口,教自己如何与其他应用程序进行交互,这可能不是最好的.网络浏览器是凌乱的,时间安排是不可预知的等等.所以,你已经采取了非常艰巨的任务 – 如果你这样做,会非常容易(直 ...

  3. python控制arduino模拟端口_用Python控制Arduino实现Blink

    第一种方法:用pyFirmata实现 1.安装pyFirmata包python 执行命令:pip install pyFirmata 在python2.7或python3.X下均可以执行.git py ...

  4. python控制autocad_Python AutoCAD系统设置如何实现 Python AutoCAD系统设置实现代码

    本篇文章小编给大家分享一下Python AutoCAD系统设置实现方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1. 连接及库导入 #!/usr ...

  5. python控制excel打印_九、Python 操作excel(一)

    pip install xlrd(读) 1.导入:import xlrd 2.打开文件:book = xlrd.open_workbook(文件位置+文件名) 3.根据sheet名称获取工作薄:she ...

  6. Python控制Excel表格的操作以及问题处理

    Python控制Excel表格(openpyxl) Python创建的sheet表并操作(因为新建表所以这里只有存值操作): ​ 1.引入: from openpyxl import Workbook ...

  7. Win7系统专业版调整屏幕亮度的详细教程--win7w.com

    win7专业版修改调整屏幕亮度教程.很多win7用户都反映想要调整屏幕亮度的时候却找不到相关功能键,这要怎么办呢?win7专业版屏幕亮度究竟该如何进行修改调整呢?有遇到同样问题的小伙伴可以参照下面wi ...

  8. python控制手机屏幕亮度的软件_Python脚本利用adb进行手机控制

    Python脚本利用adb进行手机控制 一. adb 相关命令:1. 关闭adb服务:adb kill-server2. 启动adb服务 adb start-server3. 查询当前运行的所有设备 ...

  9. python控制手机屏幕亮度的软件_使用Python脚本更改显示器亮度

    前言 不管在电脑屏幕前办公还是娱乐,环境光线在变化,看的东西也在变化.显示器的亮度也应该及时调整,白天亮一些,晚上暗一些,打游戏亮一些,看文档暗一些. 如果是笔记本,可以在Win10的任务栏最右边的通 ...

  10. python控制手机屏幕亮度的软件,屏幕亮度调节软件 - osc_52491840的个人空间 - OSCHINA - 中文开源技术交流社区...

    您是否正在寻找屏幕调光器? 那您来对地方了. 因为今天我将向您展示最受欢迎的屏幕调光器解决方案. 为什么需要屏幕调光器? 明亮的光线使眼睛刺痛和干眼 明亮的光线使眼睛疲劳 明亮的灯光使您更难以入睡 因 ...

最新文章

  1. [转]获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)
  2. 如何保证添加自定义对象元素的唯一性
  3. hadoop应用开发技术..._Hadoop
  4. C4D电商促销活动背景素材|设计提升,只差一个背景
  5. OpenShift 4 - Knative教程(2) 基于Revision/Tag/Traffic实现蓝绿部署和恢复发布
  6. python列表知识点_列表知识点整理
  7. linux7 ftp服务器,Centos7下搭建FTP服务器
  8. pytorch learning
  9. JS库之Highlight.js高亮代码
  10. 领域(学科)知识图谱构建心得
  11. 2013年上半年 系统分析师 论文 真题
  12. 中国5级省市编码爬去整理(统计用区划和城乡划分代码)
  13. GB28181国标平台资料整理
  14. 价值博客们,技术博客
  15. GitChat 是一个怎样的产品?
  16. lwIP配置宏整理(部分)
  17. 计算机u盘读不出来,详细教你解决电脑读不出u盘
  18. [Err] 23000 - [SQL Server]不能在具有唯一索引 'IX_student_info_2' 的对象 'dbo.student_info' 中插入重复键的行
  19. JS 数组删除 splice和delete
  20. e2label设置文件系统的卷标

热门文章

  1. Tecplot 输入数学符号
  2. 【历史上的今天】12 月 23 日:Python 起源;TCP/IP 协议发明者出生;设计第一台 PC 的人诞生
  3. 大话设计模式6—模板方法模式(考试抄题)
  4. java pgm_java - 如何用Java读取PGM图像? - 堆栈内存溢出
  5. 修改IDEA默认运行内存
  6. 给我计算机病毒的代码,常用的电脑病毒代码
  7. 微调StyleGAN2模型(使用Google Colab)
  8. 使用HTML,CSS,JS写出模拟前端易车网页面
  9. 台湾大学林轩田机器学习技法课程学习笔记14 -- Radial Basis Function Network
  10. 有关“十二生肖”的成语