Cómo utilizar la detección de movimiento configuración AForge?
-
20-09-2019 - |
Pregunta
Estoy tratando de motiondetection configuración utilizando el marco AForge.NET. Estoy usando la información proporcionada en rel="nofollow esta página .
he configurar un videostream DirectShow que alimenta una parte de mi escritorio a través de un arroyo. Puedo elegir esta corriente en el proyecto de vídeo de muestra que se proporciona con AForge. (Y veo a mi escritorio a través del reproductor).
Sin embargo, cuando ejecuto el código de abajo recibo una NullReferenceException. ¿Qué me falta?
// New frame received by the player
private void videoSourcePlayer_NewFrame( object sender, ref Bitmap image )
{
if (this.detector.ProcessFrame(image) > 0.02)
{
Console.WriteLine("Motion");
}
else
{
Console.WriteLine("No motion");
}
}
El detector
se inicializa como variable de clase privada cuando se elige un videostream.
private MotionDetector detector;
private BlobCountingObjectsProcessing motionProcessor;
// Open video source
private void OpenVideoSource( IVideoSource source )
{
BlobCountingObjectsProcessing motionProcessor = new BlobCountingObjectsProcessing();
MotionDetector detector = new MotionDetector(
new SimpleBackgroundModelingDetector(),
motionProcessor);
}
Solución
Tener un vistazo a la BlobCountingObjectsProcessing motionProcessor
, parece que se ha declarado la variable dos veces, una vez que no se ha inicializado y una vez inicializado.
Una alcance método exterior y un ámbito de método dentro.
Creo que es donde su NullReferenceException está viniendo.