G 'Morning SO-Концептуальный алгоритм интерполяции
Я пытаюсь переместить некоторые ограничивающие рамки на видео. Я в какой-то момент. Если у меня есть кадр в файле данных каждые 15 кадров, тогда я должен создать 14 кадров между каждой реальной. Поскольку это инструмент (на самом деле часть плагина ffmpeg), он должен работать для любого размера пробела.
Я написал функцию, которая занимает расстояние между двумя точками и сколько кадров он должен плавно перейти от начальной точки до конечной точки. То, что эта функция идеально будет возвращать, представляет собой массив из числа пикселей для перехода от предыдущего кадра.
Например, если x в кадре 1 равнялось 50, а в кадре 16 было 65, тогда у меня был бы массив из всех, что каждый кадр будет добавлять один к кадру раньше. Вот что у меня до сих пор:
int* generateSequence(int difference, int numStep){
int* sequence = (int*)malloc(sizeof(int*)*numStep);
int i;
for(i=0; i<numStep; i++){
sequence[i] = 0;
}
while(difference > numStep){
for(i=0; i<numStep; i++){
sequence[i]++;
}
difference -= numStep;
}
Я доволен этой части (которая добавит к каждому кадру между для каждого кратного расстояния между ними по числу кадров между ними).
Но теперь я добираюсь до такой степени, что мне нужно будет добавить один для НЕКОТОРЫХ кадров, но не для всех. Все, что я получил эти жюри сфальсифицированы алгоритмы, которые не очень компактен для инструмента, который производит различные расстояния кадров ...
double delta = difference/numStep;
if(delta >=.05 && delta< .20){
for(i=0; i<numStep; i+=6){
sequence[i]++;
}
}
Должен ли я использовать оператор модуль или, возможно, приближается к нему по-другому? Жесткое кодирование в кажущихся произвольными значениях не слишком хорошо сочетается со мной.
Ваш вопрос здесь не очень понятно. Когда вы говорите «ограничивающие рамки», вы имеете в виду, что пытаетесь нарисовать прямоугольник на каждом кадре вашего видео, чтобы прямоугольник плавно перемещался от исходного местоположения до конечного местоположения? – MusiGenesis
Да. У меня есть программа распознавания лиц, которая выводит координаты и атрибуты полей для таких ящиков каждые 15 кадров и выводит их в файл журнала. Я пытаюсь создать программу для интерполяции, чтобы новый файл журнала имел координаты и атрибуты каждого кадра. Я знаю, что, вероятно, не очень хорошо объяснил это, и извиняюсь за то, что я плохой коммуникатор. Если что-то еще, что я могу прояснить, дайте мне знать. – SetSlapShot