PAnalytics.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015-2018 Digital Barriers plc. All rights reserved.
3  * Contact: http://www.digitalbarriers.com/
4  *
5  * This file is part of the Papillon SDK.
6  *
7  * You can't use, modify or distribute any part of this file without
8  * the explicit written agreements of Digital Barriers.
9  */
10 
17 #pragma once
18 #include <PPluginInstance.h>
19 
20 PAPILLON_BEGIN_NAMESPACE
21 
22 class PEvent;
23 class PFrame;
24 class PGuid;
25 class PImage;
26 class PList;
27 class PPlugin;
28 class PProperties;
29 class PSizei;
30 
33 
38 class PAPILLON_API_CORE PAnalytics : public PPluginInstance
39 {
40 public:
45  static PResult Create(const PString& productName, const PProperties& parameters, PAnalytics& analytics);
46 
51  static PResult Create(const PPlugin& plugin, const PProperties& parameters, PAnalytics& analytics);
52 
56  PAnalytics();
57 
61  PAnalytics(const PAnalytics& other);
62 
66  virtual ~PAnalytics();
67 
71  PAnalytics& operator=(const PAnalytics& other);
72 
77  PResult Apply(const PFrame& frame, PList& events) const;
78 
83  PResult Finish(PList& events) const;
84 
88  PSizei GetMinimumInputResolution() const;
89 
96  PResult DrawOSD(PImage& image) const;
97 };
98 
100 
101 PAPILLON_END_NAMESPACE
PPluginInstance & operator=(const PPluginInstance &other)
Performs a shared copy of other to this object.
The PAnalytics class is the parent class for all video analytics algorithms which analyse a video str...
Definition: PAnalytics.h:38
The PString class provides an Unicode character strings.
Definition: PString.h:37
The PFrame class represents any 2D-image (RGB, gray-scale, ...) with a container of additional data p...
Definition: PFrame.h:50
The PSizei class represents the size of an image or a rectangle: width (int) and height (int); PSizei...
Definition: PSizei.h:27
The PImage class represents a 2D-image; several pixel format and number of channels are supported (BG...
Definition: PImage.h:57
The PResult class represents the result returned by most of Papillon functions; this class is used to...
Definition: PResult.h:159
The PList class represents a generic container which handle an ordered collection of PObject; NOT thr...
Definition: PList.h:46
The PProperties class represents a container of properties; each property has a name (PString) and a ...
Definition: PProperties.h:38
The PPlugin class represents a Papillon plugin (input video source, detector, describer, ...); thread-safe.
Definition: PPlugin.h:45
Class PPluginInstance: super class for PAnalytics, PDetector, PDescriber, etc.
The PPluginInstance class is the super class for PAnalytics, PDetector, PDescriber which handle the d...
The PGuid class represents a Globally Unique Identifier (GUID); PGuid instances are immutable (thread...
Definition: PGuid.h:28
The PEvent class represents an event detected by a video analytics algorithm (PAnalytics); NOT thread...
Definition: PEvent.h:43
PResult Create(const PPlugin &plugin, const PProperties &parameters, const PString &parametersPrefix)
Create an instance from the specified plugin with the specified parameters.