V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
aheadlead
V2EX  ›  分享创造

黑苹果土法山寨 True Tone 成功,效果还凑合

  •  2
     
  •   aheadlead · 2018-08-13 00:12:27 +08:00 · 4935 次点击
    这是一个创建于 2299 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天看到隔壁 @dbw9580 做了给显示器自动亮度,灵机一动觉得自动调节色温也是可行的。

    虽然离 Apple 的 True Tone 还有点距离,不过我觉得已经很能解决问题了

    明天要上班,简述一下实验过程:

    • 选用 TCS34725 传感器 + 吃灰 5 年的树莓派
    • 传感器采集环境的 RGBC 值,厂家自带的树莓派 python 库支持换算后输出色温
    • 电脑端将 Night Shift 全天开启
    • 把传感器贴在屏幕上,写了一个 shell 脚本,从 0 到 100 设定 Night Shift 值,并通知树莓派采集色温,得到映射关系,并指数拟合

    流程如下:

    1. 树莓派通过 I2C 和传感器通信,拿到 RGBC 值,通过 python 库换成色温
    2. 树莓派将色温值通过 nc 发给电脑
    3. 电脑根据拟合结果,反推回 Night Shift 值
    4. nshift 工具调节 Night Shift 值

    简单结论:

    1. 效果还不错,能唬人了
    2. 亮度和色温关系不大(测过亮度 0%、50%、100% 下的色温随 Night Shift 值变化的曲线,差别不大)
    3. 传感器的摆放位置很有讲究(现在和 @dbw9580 做法一样,感觉这样是最好的)
    4. 简单拟合可能不足够好
    5. 要加入以传感器的照度自动调节显示器亮度( ddcctl )可能会更好

    现在快递还是发达啊,昨天看到自动调节亮度的 idea,当即 google 色温传感器什么的,立即淘宝下单,今天中午就到了……

    ps. 色彩是一个很主观的事情,这个调教很困难…

    13 条回复    2019-07-13 14:28:12 +08:00
    maxlino
        1
    maxlino  
       2018-08-13 00:14:37 +08:00 via iPhone
    厉害厉害
    aheadlead
        2
    aheadlead  
    OP
       2018-08-13 00:19:44 +08:00
    亮度 0%、50%、100% 的情况下,测量 Night Shift 值( X 轴)和传感器输出的“色温”的关系图

    aheadlead
        3
    aheadlead  
    OP
       2018-08-13 00:21:19 +08:00
    显示器是 LG 的普通 4K 显示器,色彩应该也有点问题…

    以下是实际效果视频:

    &feature=youtu.be
    aheadlead
        4
    aheadlead  
    OP
       2018-08-13 00:46:33 +08:00
    上一个视频拍摄时,手机没固定白平衡

    fix:

    Baboonowen
        5
    Baboonowen  
       2018-08-13 01:43:50 +08:00 via Android
    色准。。
    aheadlead
        6
    aheadlead  
    OP
       2018-08-13 08:43:08 +08:00 via iPhone
    @Baboonowen 确实也没条件考虑色准什么的了…
    dbw9580
        7
    dbw9580  
       2018-08-13 12:29:54 +08:00
    哈哈,前来支持!室内照明是用了飞利浦 Hue 之类的灯吧,白天用冷色调,晚上转变成暖色调,然后显示器自动同步?

    另外,今天我又回去看了下,居然发现 9960 还有手势检测的功能: https://www.broadcom.cn/products/optical-sensors/integrated-ambient-light-and-proximity-sensors/apds-9960
    而且 GitHub 上有人已经铺好路了: https://github.com/liske/python-apds9960
    这样一来就可以直接通过手势调节亮度和色温了!手势我都已经想好了:上下移动粗调,左右移动微调,前后移动切换亮度 /色温 /对比度。

    现在马上去下单^_^
    aheadlead
        8
    aheadlead  
    OP
       2018-08-13 12:34:28 +08:00
    @dbw9580 #7 Yeelight 的皎月系列~

    我不单是想和吸顶灯同步(因为和它同步太简单了,根本不用传感器,灯有 API 可以读写色温的)
    而是考虑了日光照明的情况
    kaesi0
        9
    kaesi0  
       2018-08-13 12:48:04 +08:00
    真心牛逼
    eastlhu
        10
    eastlhu  
       2018-08-13 17:53:33 +08:00
    楼主动手能力也太强了,学习学习
    Baboonowen
        11
    Baboonowen  
       2018-08-13 23:43:42 +08:00 via Android
    @aheadlead 可是 true tune 就是给色彩敏感工作用的啊,如果色准无法保障那就是失去了其存在的最大意义。。。
    aheadlead
        12
    aheadlead  
    OP
       2018-08-14 01:09:51 +08:00
    @Baboonowen 我这是山寨,目的只是为了在不同色温环境下显示器没那么刺眼。
    jicakangel
        13
    jicakangel  
       2019-07-13 14:28:12 +08:00
    能分享下控制软件和硬件吗? [email protected] 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1439 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:19 · PVG 01:19 · LAX 09:19 · JFK 12:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.