LINUX.ORG.RU

Как называется алгоритм

Average.

anonymous
()
Ответ на: комментарий от steemandlinux

сложить два кадра

Скорее diff кадров, если суммарно он ниже «порога», поделить пополам.

anonymous
()
Ответ на: комментарий от steemandlinux

out=

Почему порог не применяешь? Не все кадры надо мержить (большинство, но не все). На граничных кадрах диф либо копируется, либо обнуляется (т.е. копируется кадр).

anonymous
()

Как называется алгоритм, вставляющий между кадрами промежуточные для плавной замены?

Петушиный алгоритм.

anonymous
()
Ответ на: комментарий от anonymous

А он в библиотеке есть:

Image.blend(image5, image6, alpha=.2)

Дальше добавить цикл с итератором альфы и скормить энкодеру.

Библиотека from PIL import Image

А сам порог у меня статический, т.к. mathplotlib.

steemandlinux ★★★★★
() автор топика
Последнее исправление: steemandlinux (всего исправлений: 4)
Ответ на: комментарий от steemandlinux

А он в библиотеке есть:

Порог - это просто число (как вариант параметр). Сравниваешь с ним суммарный диф и разветвляешь:

int diff, diffsum = 0;
double t=0.0, Targ=0.3;
for (int i=0; i<s; i++)
{
    diff = (int)in2[i] - (int)in1[i];
    diffsum += (diff<0) ? -diff : diff;
}
t = (double)diffsum;
t /= s;
if (t < Targ)
{
    for (int i=0; i<s; i++)
    {
        diff = (int)in2[i] - (int)in1[i];
        diff *= alpha;
        out[i] = in1[i] + diff;
    }
} else {
    for (int i=0; i<s; i++)
    {
        out[i] = in1[i];
    }
}
anonymous
()

Вообще это делается с помощью алгоритма разложения Фурье для кадров, а потом апроксимация разложений Фурье между этим кадрами в среднее значение. Так можно сглаживать почти всё. Но бывают конечно нюансы.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.