How to generate events based on changes in the analized video or picture in C#

Dynamic events can be regarded as long-term temporal objects, which are characterized by spatio-temporal features at multiple temporal scales. Dynamic events can form a powerful cue for analysis of video information, including event-based video indexing, browsing, clustering, and segmentation. These methods propose elegant approaches for capturing the important characteristics of their event/actions by a specialized parametric model with a small number of parameters. These parametric models usually give rise to high-quality recognition of the studied actions.

What should you know about the video events?

Events are long-term temporal objects, which usually extend over tens or hundreds of frames. Temporal objects (events) and spatial objects bare many similarities as well as differences. Spatial objects are usually characterized by multiple spatial scales. Similarly, temporal objects (events) are characterized by multiple temporal scales.

Video content analysis is the capability of automatically analyzing video to detect and determine temporal and spatial events. This includes motion detection, the recognition of multiple shapes, faces, letters, etc.. However, there is a major difference between spatial and temporal objects. Due to the perspective nature of the projection in the spatial dimension, a spatial object may appear at different spatial scales in different images (for example a detected car can turn thereby presenting different width or someone can stand up showing different height). In contrast, a temporal event is always characterized by the same temporal scale in all sequences. This is due to the "orthographic" nature of the projection along the temporal dimension.

You can learn more about Motion Detection from the How to build motion detection and alarm system in C# article.

Motion detection example implementation in C#

Motion detection is the process of detecting a change in position of an object relative to its surroundings or the change in the surroundings relative to an object.

MotionDetector Detector = new MotionDetector(); 
// need a new instance from MotionDetector object
Detector.MotionDetection += Detector_MotionDetection; 
// event register

void Detector_MotionDetection(object sender, MotionDetectionEvent e)
	// when a motion is detected this event will invoke
	// e.Detection is true when the motion is started
	// e.Detection is false when the motion is stopped

Code 1 - Code example for motion detection in C#

Video analysis is the part of our regular life. It is used for example in:

  • Video based biometrics
  • Sports video analysis
  • Visual surveillance
  • Video summarization and browsing
  • Event-based video analysis
  • Video based abnormal event detection
  • Datasets and evaluation protocols
  • Other video based applications

Related Pages


Below you can find the answers for the most frequently asked questions related to this topic:

  1. How can I get the URL of the camera?

    You can get the URL from the producer of the camera. (In the 10th tutorial you can find information on how to create an own IP camera discoverer program.)

More information