我正在尝试使用 AForge.NET 框架设置运动检测。我正在使用此页面上提供的信息。
我已经设置了一个 DirectShow 视频流,它通过流向我的桌面的一部分提供数据。我可以在 AForge 提供的示例视频播放器项目中选择此流。(我通过播放器看到我的桌面)。
但是,当我运行下面的代码时,我收到了 NullReferenceException。我错过了什么?
// 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");
}
}
The detector
is initialized as private class variable when a videostream is chosen.
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);
}