У меня есть короткий видеоклип, который начинается с абсолютно черного фона.Через короткий промежуток времени он перейдет с полностью белым заголовком.Промежуточные кадры показывают различные оттенки серого.
В другом вопросе SO я нашел одну строку, которая позволяет мне найти самый яркий пиксель:
convert 0000$a.png -colorspace HSB -format %c histogram:info:- | sort -t',' -gr -k 3 | head -1 | sed 's/.* hsb.*,.*,\([0-9.]*\)%.*/\1/
Во всем диапазоне видеокадры, я получаю хорошую кривую логарифма от 0 до 100. Я подумал, что могу взять эти числа, добавить их в непрозрачность svg для текстового элемента и экспортировать png.
Однако результатыдико отличается от оригинала, который я пытаюсь подражать.Frame 50 Имеет яркость 8,49447%.Это выглядит следующим образом:
Это выглядит черным для моих глаз (кадр 49 измеряет 0%).
Если яустановив непрозрачность белого текста на 8,49%, я получаю следующие результаты:
Это все еще довольно темно, но гораздо более заметно.
Очевидно, яркость пикселей не аналогична непрозрачности белого на черном фоне.Сами числа в некотором роде правильные, в том смысле, что моя кривая затухает с тем, что выглядит как правильная скорость, но она начинает ярче и становится ярче кадр за кадром, пока они оба не достигнут 100%.
Могу ли я преобразовать это значение в соответствующее значение непрозрачности?Мне нужно другое значение полностью?Если бы это было всего несколько кадров, я бы просто посмотрел на них, но у меня есть то, что выглядит как несколько тысяч, чтобы получить право (для разных сцен).
Используемая мной командная строкаследующее:
for a in `seq -f %06g 50 72`; do o=`convert $a.png -colorspace HSB -format %c histogram:info:- | sort -t',' -gr -k 3 | head -1 | sed 's/.* hsb.*,.*,\([0-9.]*\)%.*/\1/'`; p=0`echo "scale=6;$o/100"|bc -l`; sed "s|ABC|$p|" ../svg/scene000.svg > ../temp.svg; /Applications/Inkscape.app/Contents/Resources/bin/inkscape -f /Users/user/ep1/temp.svg -e /Users/user/ep1/4k/$a.png -z > /dev/null; echo -e "$a.png\t$o\t\t$p"; done
И я вижу эти значения для кадров:
000050.png 8.49447 0.084944
000051.png 11.0702 0.110702
000052.png 16.6186 0.166186
000053.png 27.7847 0.277847
000054.png 32.5076 0.325076
000055.png 40.0663 0.400663
000056.png 46.6477 0.466477
000057.png 52.6319 0.526319
000058.png 62.2218 0.622218
000059.png 64.1088 0.641088
000060.png 71.5642 0.715642
000061.png 76.4314 0.764314
000062.png 81.3782 0.813782
000063.png 81.3782 0.813782
000064.png 85.1114 0.851114
000065.png 85.1114 0.851114
000066.png 88.8427 0.888427
000067.png 91.8013 0.918013
000068.png 93.7057 0.937057
000069.png 94.4534 0.944534
000070.png 97.7247 0.977247
000071.png 97.7247 0.977247
000072.png 99.8274 0.998274