我正在使用开放框架和 opencv 来跟踪网络摄像头上的 blob。我正在获取 blob 质心的 x 值并对其进行跟踪。问题是,它会跳来跳去,我想知道是否有更好的方法来计算一定数量的帧上的平均位置并使用该数字,这一切都是在 draw() 函数中计算的。
void testApp::draw(){
ofVec2f centroid = contourFinder.blobs[0].centroid;
int width = ofGetWidth();
float pct = (float)centroid.x / (float)width;
float totFrame = fingerMovie.getTotalNumFrames ();
float gotFrame = totFrame * pct;
}