Делаю фоновую подсветку на компьютере себе из RGB ленты потипу как на телевизорах. Берется полоска с края экрана, делится по количеству ламп, считается средний цвет для каждой части и он посылается на лампу. Столкнулся с такими проблемами: 1. Когда смотрю фильм цвета на ленте быстро мигают и получается вообше как-то не красиво и не приятно для глаз, даже больно. Никак не могу понять как на телевизоре сделано почему там такого эффекта нет и там все красиво типа, плавнее как то. Есть идеи как должен меняться цвет? 2. Иногда получается так, что цвета смешиваются и вместо разных цветов получается просто белый. Например нужно чтобы загорелись зеленый, желтый, синий рядом, а в итоге получается какое-то белое пятно. Лампы на расстоянии примерно 15 см от стены, стена белая. С таким как-то можно бороться?
1. Есть подозрение, что в телевизоре для расчета берутся не пиксели по краю экрана, а целые области пикселей. Попробуйте взять полоску пикселей пошире.
Ну это да я тоже области беру. Делю разрешение на количество ламп, а высоту в два раза больше. Прямоугольники такие получаются.
Тут проблема получается что вот горел синий цвет (небо например), а потом раз и зелень (деревья). И получается в один момент с синего цвет меняется на зеленый. А на телевизоре как то плавно это происходит но я вот как то не могу сообразить что же именно происходит плавно как то из синего получается зеленый. Что за идея такая.
Я думаю помимо того, что нужно действительно усреднять целую область, также в качестве итогового значения цвета нужно брать не сиюсекундный цвет, а скользящее среднее за последние Х миллисекунд. Иными словами, держите буфер истории из N последних замеров, производимых каждые M милисекунд. Текущий результат есть среднее арифметическое этого буфера. Каждый новый замер одно «прокисшее» значение вытесняется, а новое добавляется. В этом случае цвет эмби-лайт будет чуть-чуть отставать от номинального, но меняться будет плавно и предположительно комфортно для глаза.
Сделал наконец-то нечто подобное. Правда без буферов. Чтобы быстрее считать, складываю текуший цвет с предыдущим в процентном соотношении, получилось все отлично и очень плавно. Получается что типа каждый предыдуший цвет постепенно забывается и исчезает. Спасибо за идею! Судя по ролику там как раз та самая проблема которую я описал в первом пункте. В живую смотреть на это можно только несколько минут а потом глаза устают и это раздражает. Тут тоже самое. Да еще и просто берется средний цвет экрана до кучи. Правда так и осталась вторая проблема - смешивания цветов, мне так кажется что это наверное потому что у меня маленькие не особо мошные лампы (лента с smd 5050) и свет от них рассеянный? а нужны наверное которые умеют делать узконаправленный пучек света? Кто нибудь пробовал вот такие с линзами как они светят: