Kurento
Real-time image processing.
Kurento is a media server that simplifies the creation of streaming applications. It is focused on media stream transcoding as well as custom media processing.
Nowadays there are already cameras everywhere and almost all of them connected to the Internet.
The Kurento media server is designed to simplify the development of streaming and multimedia processing applications, so that the common functionalities of network communications, transcoding or obtaining frames for processing are practically transparent. In general Kurento can perform multiple actions on the same media stream:

You can focus on your business logic and Kurento will take care of media management...
Some use cases
Crowd detection
In public cameras, crowds of people can be detected, people counted, unusual movement patterns detected, etc.
Drone racing analytics
By tracking colours it is possible to track the path of each drone as well as compare positions between competitors, for example.
Virtual Fencing
Security cameras can alert when people, animals or objects cross a virtual fence, an automatic recording of the event can be made in addition to detecting anomalous behaviour.