Общий подход к временному сглаживанию - PullRequest
0 голосов
/ 12 мая 2019

Я ищу некоторую информацию об общем подходе к реализации временного дизеринга при обработке.

В настоящее время у меня есть эскиз обработки, который генерирует шестнадцатеричный файл, который можно отправить на светодиодную ленту APA102 через SPI. Частота кадров, которой я смог бы достичь, должна быть достаточной, чтобы я мог реализовать временное сглаживание, чтобы увеличить динамический диапазон светодиодов, в основном с меньшей яркостью. Я посмотрел на FastLed и Fadecandy, чтобы попытаться понять, как это делается, но я не могу понять это. Использование этих библиотек не вариант, так как анимация должна быть жестко задана в шестнадцатеричном файле.

Кто мог бы указать мне правильное направление?

редактирование: В настоящее время я реализовал следующее: во-первых, я рассчитываю достижимую частоту кадров на светодиодах, которая дает мне количество кадров сглаживания, которые я могу вставить, на основе количества светодиодов в моей строке и тактовой скорости SPI. LEDstrip может обновляться со скоростью 420 кадров в секунду, поэтому у меня есть 7 «виртуальных» кадров на кадр, чтобы при этом можно было использовать базовую частоту обновления 60 кадров в секунду. Затем я вычисляю таблицу соответствия 7x7, которая выглядит следующим образом:

0 0 0 0 0 0 0 
0 0 0 1 0 0 0
0 0 1 0 0 1 0
0 1 0 1 0 1 0
0 1 0 1 1 0 1
1 1 0 1 1 1 0
0 1 1 1 1 1 1

Я делаю все расчеты гамма-коррекции с помощью чисел с плавающей запятой, и каждая строка в таблице соответствия соответствует шагу 1/7 между двумя значениями. Затем они добавляются к разложенным значениям RGB для достижения сглаживания. Однако все это на самом деле не сильно меняет визуально. По сравнению с анимацией без сглаживания я не вижу разницы. Я надеялся увидеть что-то вроде https://www.youtube.com/watch?v=1-_JtRl2ks0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...