私が読んだチュートリアル、サンプル、またはブログはすべて、に移動している限り、フレーム内の動くオブジェクトを追跡するさまざまな方法を示しています。これは遍在しています。オブジェクトが移動を停止したかどうかを判断する方法
は、私は何を把握しようとしていることは、オブジェクトが移動を停止したり、実際にフレームを残したかどうかを判断する方法にです。背景分離を使用する場合、オブジェクトの移動が停止すると、オブジェクトは前景の一部になり、そのように「消える」。もう一度動くと「再現」します。オブジェクトがフレームを離れるときに同じ動作が存在するとわかる限り、それは単に「消える」だけです。たとえば、次のコードは、このことを示しています。
**BackgroundSubtractorMOG2 _fgDetector = new BackgroundSubtractorMOG2();
CvBlobDetector _blobDetector = new CvBlobDetector();
CvTracks _tracker = new CvTracks();
CvBlobs _blobs = new CvBlobs();**
private int FindAndTrack()
{
CvInvoke.GaussianBlur(_analyzeMat, _smoothedFrame, new System.Drawing.Size(3, 3), 1);
#region use the BG/FG detector to find the forground mask
_fgDetector.Apply(_smoothedFrame, _foregroundMask);
#endregion use the BG/FG detector to find the forground mask
_blobDetector.Detect(_foregroundMask.ToImage<Gray, byte>(), _blobs);
_blobs.FilterByArea(_minimumAreaValue, int.MaxValue);
_tracker.Update(_blobs, 0.01 * _scaleValue, 1, 5);
return _tracker.Count;
}
を私はもはや背景分離が答えであることを確信していません。
フレームから離れるオブジェクトの明確な表示は何でしょうか?
おかげで、 ダグ