I am trying to perform very basic flea detection without success. Just using the VideoSurveillance example ... it compiles and works fine, but doesn’t actually detect drops at all. The FGDetector seems to work well, so I seem to get a good foreground, but BlobTrackerAuto.Process hardly ever leads to blob detection ... even when a very noticeable blob appears in the foregroundMask image. Here is a code snippet showing how I capture and process an image.
void ProcessFrame(object sender, EventArgs e)
{
Image<Bgr, Byte> frame = _cameraCapture.QueryFrame();
frame._SmoothGaussian(3);
_detector.Update(frame);
Image<Gray, Byte> foregroundMask = _detector.ForegroundMask;
_tracker.Process(frame, foregroundMask);
foreach (MCvBlob blob in _tracker)
{
frame.Draw((Rectangle)blob, new Bgr(255.0, 255.0, 255.0), 2);
frame.Draw(blob.ID.ToString(), ref _font, Point.Round(blob.Center), new Bgr(255.0, 255.0, 255.0));
}
Image<Bgr, Byte> frameDisplay = frame.Resize(imageBox1.Width, imageBox1.Height, INTER.CV_INTER_LINEAR, false);
Image<Gray, Byte> fgMaskDisplay = foregroundMask.Resize(imageBox2.Width, imageBox2.Height, INTER.CV_INTER_LINEAR, false);
imageBox1.Image = frameDisplay;
imageBox2.Image = fgMaskDisplay;
}
And this is a sample image from a program that shows (in my naive opinion) a very explicit blob that was not detected.

, - blob ( ?), , .
.