G'上午SO-概念插值算法
我試圖移動視頻上的一些邊界框。我處於一個棘手的問題。如果我每15幀在數據文件上有一幀,那麼我必須在每一幀之間創建14幀。由於它是一個工具(實際上是ffmpeg插件的一部分),它需要適用於任何間隙大小。
我已經寫了一個函數,它需要兩點之間的距離,以及它有多少幀能夠平滑地從開始點過渡到結束點。理想情況下,這個函數返回的是一個從前一幀中移出多少個像素的數組。
例如,如果第1幀的x爲50,第16幀的第65幀爲65,那麼我將擁有一個全爲1的數組每個框架將在之前添加一個框架。下面是我到目前爲止有:
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