this function is called when there is a new position. It tries to sample 2 squares of points outside the bounding box of the tracked object, taking care not to sample outside the image. Definition at line 357 of file TrackerBackFore.h. References Impala::Core::Geometry::Rectangle::Height(), ILOG_DEBUG, mBack, mBackMaxPoints, Impala::Core::Geometry::Rectangle::mBottom, mHeight, Impala::Core::Geometry::Rectangle::mLeft, mPosition, Impala::Core::Geometry::Rectangle::mRight, mSampleSpacing, Impala::Core::Geometry::Rectangle::mTop, mWidth, and Impala::Core::Geometry::Rectangle::Width(). Referenced by NewPosition(), and SearchObject(). 00358 { 00359 mBack[0].mLeft = mPosition.mLeft - 3*mSampleSpacing; 00360 mBack[0].mTop = mPosition.mTop - 3*mSampleSpacing; 00361 mBack[0].mRight = mPosition.mRight + 3*mSampleSpacing -1; 00362 mBack[0].mBottom = mPosition.mTop -1; 00363 00364 mBack[1].mLeft = mPosition.mLeft - 3*mSampleSpacing; 00365 mBack[1].mTop = mPosition.mTop - mSampleSpacing; 00366 mBack[1].mRight = mPosition.mLeft -1; 00367 mBack[1].mBottom = mPosition.mBottom + mSampleSpacing -1; 00368 00369 mBack[2].mLeft = mPosition.mRight; 00370 mBack[2].mTop = mPosition.mTop - mSampleSpacing; 00371 mBack[2].mRight = mPosition.mRight + 3*mSampleSpacing -1; 00372 mBack[2].mBottom = mPosition.mBottom + mSampleSpacing -1; 00373 00374 mBack[3].mLeft = mPosition.mLeft - 3*mSampleSpacing; 00375 mBack[3].mTop = mPosition.mBottom; 00376 mBack[3].mRight = mPosition.mRight + 3*mSampleSpacing -1; 00377 mBack[3].mBottom = mPosition.mBottom + 3*mSampleSpacing -1; 00378 00379 if(mPosition.mLeft < 3*mSampleSpacing) 00380 { 00381 mBack[0].mLeft = 0; 00382 mBack[1].mLeft = 0; 00383 mBack[3].mLeft = 0; 00384 } 00385 if(mPosition.mTop < 3*mSampleSpacing) 00386 { 00387 mBack[0].mTop = 0; 00388 } 00389 if(mPosition.mRight+3*mSampleSpacing >= mWidth) 00390 { 00391 mBack[0].mRight = mWidth; 00392 mBack[2].mRight = mWidth; 00393 mBack[3].mRight = mWidth; 00394 } 00395 if(mPosition.mBottom+3*mSampleSpacing >= mHeight) 00396 { 00397 mBack[3].mBottom = mHeight; 00398 } 00399 00400 int w = mBack[0].Width()/mSampleSpacing; 00401 int h = mBack[1].Height()/mSampleSpacing; 00402 ILOG_DEBUG("rect[0].w=" << w << " rect[1].h=" << h); 00403 w--; 00404 h--; 00405 ILOG_DEBUG("sample space = " << mSampleSpacing); 00406 mBackMaxPoints = (w * 4) + (h * 4); 00407 ILOG_DEBUG("maxpoints = "<<mBackMaxPoints<<" (4*"<<w<<" + 4*"<<h<<")"); 00408 }
Here is the call graph for this function:
|