private Image<Gray, Byte> GetBackproject(Image<Gray, Byte> hue, DenseHistogram _hist,Image<Gray,Byte> mask,Rectangle hide)
{
Image<Gray, Byte> backproject = new Image<Gray, byte>(hue.Width, hue.Height);
var imgs = new IntPtr[1] { hue };
Emgu.CV.CvInvoke.cvCalcBackProject(imgs, backproject, _hist);
Emgu.CV.CvInvoke.cvAnd(backproject, mask, backproject, IntPtr.Zero);
if (th_check)
{
backproject.ROI = face_rect;
if (backproject.GetAverage().Intensity < backproj_threshold/2)
{
isTracked = false;
}
th_check = false;
Emgu.CV.CvInvoke.cvResetImageROI(backproject);
}
hide.Height += 50;
Emgu.CV.CvInvoke.cvSetImageROI(backproject, hide);
try
{
Emgu.CV.CvInvoke.cvZero(backproject);
}
catch { }
Emgu.CV.CvInvoke.cvResetImageROI(backproject);
return backproject;
}