code
opencv3.3.1-contrib ---- TrackerKCF.cpp
opencv如何更新目标区域的过程:
// calculate filter response if(params.split_coeff) calcResponse(alphaf,alphaf_den,kf,response, spec, spec2); else calcResponse(alphaf,kf,response, spec); // extract the maximum response minMaxLoc( response, &minVal, &maxVal, &minLoc, &maxLoc ); if (maxVal < params.detect_thresh) { return false; } roi.x+=(maxLoc.x-roi.width/2+1); roi.y+=(maxLoc.y-roi.height/2+1); // update the bounding box boundingBox.x=(resizeImage?roi.x*2:roi.x)+(resizeImage?roi.width*2:roi.width)/4; boundingBox.y=(resizeImage?roi.y*2:roi.y)+(resizeImage?roi.height*2:roi.height)/4; boundingBox.width = (resizeImage?roi.width*2:roi.width)/2; boundingBox.height = (resizeImage?roi.height*2:roi.height)/2;
参考
1. KCFcpp;
2. opencv_contrib;
3. 作者Homepage;
完