public static AForge.Vision.Motion.MotionDetector GetDefaultMotionDetector() { AForge.Vision.Motion.IMotionDetector detector = null; AForge.Vision.Motion.IMotionProcessing processor = null; AForge.Vision.Motion.MotionDetector motionDetector = null; //detector = new AForge.Vision.Motion.TwoFramesDifferenceDetector() //{ // DifferenceThreshold = 1, // SuppressNoise = true //}; //detector = new AForge.Vision.Motion.CustomFrameDifferenceDetector() //{ // DifferenceThreshold = 255, // KeepObjectsEdges = true, // SuppressNoise = true //}; detector = new AForge.Vision.Motion.SimpleBackgroundModelingDetector() { DifferenceThreshold = 5, FramesPerBackgroundUpdate = 1, KeepObjectsEdges = false, MillisecondsPerBackgroundUpdate = 1, SuppressNoise = false }; //processor = new AForge.Vision.Motion.GridMotionAreaProcessing() //{ // HighlightColor = System.Drawing.Color.Red, // HighlightMotionGrid = true, // GridWidth = 1, // GridHeight = 1, // MotionAmountToHighlight = 10f //}; processor = new AForge.Vision.Motion.BlobCountingObjectsProcessing() { HighlightColor = System.Drawing.Color.Red, HighlightMotionRegions = true, MinObjectsHeight = 3, MinObjectsWidth = 3, }; motionDetector = new AForge.Vision.Motion.MotionDetector(detector, processor); return(motionDetector); }
// Play around with this function to tweak results. public static AForge.Vision.Motion.MotionDetector GetDefaultMotionDetector() { AForge.Vision.Motion.IMotionDetector detector = null; AForge.Vision.Motion.IMotionProcessing processor = null; AForge.Vision.Motion.MotionDetector motionDetector = null; //detector = new AForge.Vision.Motion.TwoFramesDifferenceDetector() //{ // DifferenceThreshold = 15, // SuppressNoise = true //}; //detector = new AForge.Vision.Motion.CustomFrameDifferenceDetector() //{ // DifferenceThreshold = 15, // KeepObjectsEdges = true, // SuppressNoise = true //}; detector = new AForge.Vision.Motion.SimpleBackgroundModelingDetector() { DifferenceThreshold = 10, FramesPerBackgroundUpdate = 10, KeepObjectsEdges = true, MillisecondsPerBackgroundUpdate = 0, SuppressNoise = true }; //processor = new AForge.Vision.Motion.GridMotionAreaProcessing() //{ // HighlightColor = System.Drawing.Color.Red, // HighlightMotionGrid = true, // GridWidth = 100, // GridHeight = 100, // MotionAmountToHighlight = 100F //}; processor = new AForge.Vision.Motion.BlobCountingObjectsProcessing() { HighlightColor = System.Drawing.Color.Red, HighlightMotionRegions = true, MinObjectsHeight = 10, MinObjectsWidth = 10 }; motionDetector = new AForge.Vision.Motion.MotionDetector(detector, processor); return (motionDetector); }