L4T Multimedia API Reference

27.1 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FaceDetect.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the name of NVIDIA CORPORATION nor the names of its
13  * contributors may be used to endorse or promote products derived
14  * from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
24  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28 
37 #ifndef _ARGUS_FACE_DETECT_H
38 #define _ARGUS_FACE_DETECT_H
39 
50 namespace Argus
51 {
52 
63 DEFINE_UUID(ExtensionName, EXT_FACE_DETECT, 40412bb0,ba24,11e5,a837,08,00,20,0c,9a,66);
64 
65 namespace Ext
66 {
67 
73 DEFINE_UUID(InterfaceID, IID_FACE_DETECT_CAPS, 40412bb0,ba24,11e5,a837,08,00,20,0c,9a,66);
74 
75 class IFaceDetectCaps : public Interface
76 {
77 public:
78  static const InterfaceID& id() { return IID_FACE_DETECT_CAPS; }
79 
84  virtual uint32_t getMaxFaceDetectResults() const = 0;
85 
86 protected:
88 };
89 
95 DEFINE_UUID(InterfaceID, IID_FACE_DETECT_SETTINGS, 40412bb1,ba24,11e5,a837,08,00,20,0c,9a,66);
96 
98 {
99 public:
100  static const InterfaceID& id() { return IID_FACE_DETECT_SETTINGS; }
101 
108  virtual void setFaceDetectEnable(bool enable) = 0;
109 
113  virtual bool getFaceDetectEnable() const = 0;
114 
115 protected:
117 };
118 
125 DEFINE_UUID(InterfaceID, IID_FACE_DETECT_METADATA, 40412bb2,ba24,11e5,a837,08,00,20,0c,9a,66);
126 
128 {
129 public:
130  static const InterfaceID& id() { return IID_FACE_DETECT_METADATA; }
131 
138  virtual Status getFaceDetectResults(std::vector<InterfaceProvider*>* results) const = 0;
139 
140 protected:
142 };
143 
150 DEFINE_UUID(InterfaceID, IID_FACE_DETECT_RESULT, 40412bb3,ba24,11e5,a837,08,00,20,0c,9a,66);
151 
153 {
154 public:
155  static const InterfaceID& id() { return IID_FACE_DETECT_RESULT; }
156 
161  virtual Rectangle<float> getRect() const = 0;
162 
169  virtual float getConfidence() const = 0;
170 
171 protected:
173 };
174 
175 } // namespace Ext
176 
177 } // namespace Argus
179 #endif // _ARGUS_FACE_DETECT_H
virtual float getConfidence() const =0
DEFINE_UUID(InterfaceID, IID_BAYER_SHARPNESS_MAP_SETTINGS, 7d5e0471, 4ea6, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
Status
Status values returned by API function calls.
Definition: Types.h:228
static const InterfaceID & id()
Definition: FaceDetect.h:155
virtual bool getFaceDetectEnable() const =0
The top-level interface class.
Definition: Types.h:330
virtual Status getFaceDetectResults(std::vector< InterfaceProvider * > *results) const =0
Exposes the face detect result objects in a CaptureMetadata object.
Definition: FaceDetect.h:127
static const InterfaceID & id()
Definition: FaceDetect.h:130
virtual void setFaceDetectEnable(bool enable)=0
Enables or disables face detection.
Rectangle template class.
Definition: Types.h:703
DEFINE_UUID(ExtensionName, EXT_BAYER_SHARPNESS_MAP, 7d5e0470, 4ea6, 11e6, bdf4, 08, 00, 20, 0c, 9a, 66)
The Ext::BayerSharpnessMap extension adds internally-generated sharpness metrics to CaptureMetadata r...
Request settings used to configure face detection.
Definition: FaceDetect.h:97
static const InterfaceID & id()
Definition: FaceDetect.h:100
static const InterfaceID & id()
Definition: FaceDetect.h:78
virtual uint32_t getMaxFaceDetectResults() const =0
Returns the maximum number of faces that can be detected by the face detection algorithm per request...
Exposes the image rect and confidence level of face detect result object returned by IFaceDetectMetad...
Definition: FaceDetect.h:152
A unique identifier for an libargus Interface.
Definition: Types.h:340
Exposes the face detect capabilities of a CaptureSession.
Definition: FaceDetect.h:75
virtual Rectangle< float > getRect() const =0