Exemple #1
0
        private void SetTrackObject(Image <Bgr, byte> image)
        {
            if (_trackStatus == TrackStatus.None)
            {
                return;
            }
            CamShiftTracking trackObj = null;
            Rectangle        rect     = Rectangle.Empty;

            if (_trackStatus == TrackStatus.Left)
            {
                rect = _drawRectL;
            }
            else
            {
                rect = _drawRectR;
            }

            trackObj = new CamShiftTracking(image, rect);

            if (_trackStatus == TrackStatus.Left)
            {
                SetTrackAndRect(ref _trackingObjL, ref _drawRectL, trackObj, Rectangle.Empty);
            }
            else
            {
                SetTrackAndRect(ref _trackingObjR, ref _drawRectR, trackObj, Rectangle.Empty);
            }

            _trackStatus = TrackStatus.None;
        }
Exemple #2
0
 private void SetTrackAndRect(ref CamShiftTracking tracking, ref Rectangle rect, CamShiftTracking targetTracking, Rectangle targetRect)
 {
     if (tracking != null)
     {
         tracking.Dispose();
     }
     tracking = targetTracking;
     rect     = targetRect;
 }