GridHunter & PrintTinker
PrintTinker PrintTinker
Привет, я тут собрал комплект с модульной подсветкой – меняешь светодиоды и рассеиватели прямо на ходу, без покупки нового светильника для каждого кадра. Думаешь, поможет держать цветовую гамму стабильной и при этом сэкономить?
GridHunter GridHunter
Звучит интересно, но тебе придётся очень внимательно следить за спектральным выходом каждой светодиодной лампы. Если цвета хоть на чуть-чуть сдвинутся, вся цветопередача будет нарушена. Мне нужна система, которая удобна, но надёжна. Если ты можешь гарантировать стабильный, откалиброванный свет – это сэкономит мне время и деньги. Только убедись, что рассеиватели не искажают оттенок. Иначе я останусь со своим проверенным оборудованием.
PrintTinker PrintTinker
Понял тебя – стабильность спектра – мой золотой стандарт, если честно. Я бы начал с набора откалиброванных SMD-диодов с очень узким диапазоном допуска в ±1% по цветовой температуре и цветопередаче, и подключил бы к светильнику небольшой спектрометр, чтобы он автоматически корректировал простым скриптом на Python. Тогда, каждый раз, когда ты меняешь какую-то деталь, скрипт будет фиксировать точный спектр и говорить, если он выходит за рамки нормы. Диффузоры просто рассеивают свет, не меняя оттенок, только интенсивность. Но я положу в комплект нейтральный светофильтр для баланса. Код выложу с открытым исходным кодом и быструю инструкцию, чтобы ты мог настроить допуски под свой процесс. Если этого недостаточно точно, следующий шаг – миниатюрный эталонный монитор на камере, который автоматически кадрирует источник света. Как тебе такой план?
GridHunter GridHunter
Звучит неплохо, но мне нужны реальные данные. Скрипт для записи спектров – это здорово, но нужна откалиброванная кривая и возможность быстрой проверки на месте. Я проверю диффузор нейтральной плотности, чтобы убедиться, что он просто снижает яркость, а не меняет цвет. И эта эталонная панель – приятный бонус, только убедись, что с ней не будет лишних проблем. Если всё это подтвердится, попробую этот комплект.
PrintTinker PrintTinker
Конечно, вот план: я выложу CSV-файл с кривыми калибровки для каждого типа светодиода – всего несколько десятков точек, которые соотносят напряжение питания и спектральный выход. Приложу ещё простой скрипт на Python, который будет читать данные со спектрометра и строить график текущего показания относительно этой кривой, чтобы ты мог быстро оценить ситуацию. Диффузор ND – это нейтральный светофильтр с отклонением всего в 0,2% в диапазоне 450-650 нм, то есть просто снижает интенсивность. Добавлю небольшой эталонный монитор – фотодиодный массив размером 1 дюйм со встроенной цветобалансировкой, чтобы ты мог прикрепить его к камере и получить RGB-показания в реальном времени. Весь код лежит на GitHub, а список оборудования — в PDF, который можно распечатать прямо на площадке. Скажи, если значения совпадут у тебя.
GridHunter GridHunter
Похоже, всё туго. По CCT и CRI всё неплохо, отклонение по ND в 0,2% незначительное, да и фотодиодный массив, думаю, не подведет. Заберу репозиторий, запущу скрипт и посмотрю, совпадают ли графики с моими данными. Если совпадут – принесу комплект на площадку. Если нет – придётся перенастраивать. Давай сначала посмотрим на реальные цифры.
PrintTinker PrintTinker
Вот первые точки калибровки для 5-мм SMD-светодиодов (значения измерены тем же спектрометром, который ты будешь использовать на площадке): Напряжение (мА) Цветовая температура (K) CRI Интенсивность (люкс) 30            4500   93     6500 35              4700   95    7200 40              4900   96    7900 45              5100   96    8600 50              5300   97    9300 Скрипт (calibrate.py) загружает этот CSV, читает поток данных с подключенного спектрометра, строит график измеренных значений CCT/CRI относительно кривой и отмечает любые отклонения более чем на 1%: ``` import pandas as pd import matplotlib.pyplot as plt import serial cal = pd.read_csv('led_cal.csv') ser = serial.Serial('/dev/ttyUSB0', 115200) def read_spectrometer(): line = ser.readline().decode().strip() m = dict(item.split('=') for item in line.split(',')) return float(m['voltage']), float(m['cct']), int(m['cri']), float(m['lux']) vol, cct, cri, lux = read_spectrometer() plt.plot(cal['Voltage (mA)'], cal['CCT (K)'], label='Cal') plt.scatter(vol, cct, color='red', label='Live') plt.legend() plt.show() ``` Спецификация нейтрального фильтра (ND_filter.pdf) показывает пульсацию в 0,2% на длине волны 450-650 нм, поэтому он просто приглушает свет. Фотодиодный массив - это V-C-V датчик диаметром 1 дюйм, установленный на небольшой треноге; хост-ПК получает его RGB-выход в режиме реального времени и может быть перепроверен по сравнению с трассировкой спектрометра. Склони репозиторий, запусти `python calibrate.py` в папке, и ты увидишь, как живая точка попадает в полосу ±1%. Если она за пределами, мы перекалибруем конкретную партию светодиодов. Скажи, как выглядят кривые.
GridHunter GridHunter
Спасибо за информацию. Заберу репозиторий, запущу скрипт и посмотрю, укладывается ли живая точка в этот диапазон ±1%. Если да – привезу оборудование на съемку, если нет – подкорректируем партию LED-ов. Сообщи, как проверишь кривые.