Mar. 14. 2018

Dependencies:   GraphicsFramework GR-PEACH_video LCD_shield_config AsciiFont R_BSP USBHost_custom

Revision:
0:f5de229c9a00
diff -r 000000000000 -r f5de229c9a00 HVCApi/HVCDef.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HVCApi/HVCDef.h	Mon Jan 23 06:22:08 2017 +0000
@@ -0,0 +1,234 @@
+/*---------------------------------------------------------------------------*/
+/* Copyright(C)  2017  OMRON Corporation                                     */
+/*                                                                           */
+/* Licensed under the Apache License, Version 2.0 (the "License");           */
+/* you may not use this file except in compliance with the License.          */
+/* You may obtain a copy of the License at                                   */
+/*                                                                           */
+/*     http://www.apache.org/licenses/LICENSE-2.0                            */
+/*                                                                           */
+/* Unless required by applicable law or agreed to in writing, software       */
+/* distributed under the License is distributed on an "AS IS" BASIS,         */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  */
+/* See the License for the specific language governing permissions and       */
+/* limitations under the License.                                            */
+/*---------------------------------------------------------------------------*/
+
+#ifndef HVCDef_H__
+#define HVCDef_H__
+
+/*----------------------------------------------------------------------------*/
+/* Execution flag */
+#define HVC_ACTIV_BODY_DETECTION        0x00000001
+#define HVC_ACTIV_HAND_DETECTION        0x00000002
+#define HVC_ACTIV_FACE_DETECTION        0x00000004
+#define HVC_ACTIV_FACE_DIRECTION        0x00000008
+#define HVC_ACTIV_AGE_ESTIMATION        0x00000010
+#define HVC_ACTIV_GENDER_ESTIMATION     0x00000020
+#define HVC_ACTIV_GAZE_ESTIMATION       0x00000040
+#define HVC_ACTIV_BLINK_ESTIMATION      0x00000080
+#define HVC_ACTIV_EXPRESSION_ESTIMATION 0x00000100
+#define HVC_ACTIV_FACE_RECOGNITION      0x00000200
+
+/* Image info of Execute command */
+#define HVC_EXECUTE_IMAGE_NONE          0x00000000
+#define HVC_EXECUTE_IMAGE_QVGA          0x00000001
+#define HVC_EXECUTE_IMAGE_QVGA_HALF     0x00000002
+
+/*----------------------------------------------------------------------------*/
+/* Error code */
+
+/* Parameter error */
+#define HVC_ERROR_PARAMETER             -1
+
+/* Send signal timeout error */
+#define HVC_ERROR_SEND_DATA             -10
+
+/* Receive header signal timeout error */
+#define HVC_ERROR_HEADER_TIMEOUT        -20
+/* Invalid header error */
+#define HVC_ERROR_HEADER_INVALID        -21
+/* Receive data signal timeout error */
+#define HVC_ERROR_DATA_TIMEOUT          -22
+
+
+/*----------------------------------------------------------------------------*/
+/* Album data size */
+#define HVC_ALBUM_SIZE_MIN              32
+#define HVC_ALBUM_SIZE_MAX              816032
+
+/*----------------------------------------------------------------------------*/
+/* Expression */
+typedef enum {
+    EX_NEUTRAL = 1,
+    EX_HAPPINESS,
+    EX_SURPRISE,
+    EX_ANGER,
+    EX_SADNESS
+}EXPRESSION;
+
+/*----------------------------------------------------------------------------*/
+/* Struct                                                                     */
+/*----------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------------*/
+/* Devicefs model and version info                                           */
+/*----------------------------------------------------------------------------*/
+typedef struct {
+    UINT8   string[12];
+    UINT8   major;
+    UINT8   minor;
+    UINT8   relese;
+    UINT8   revision[4];
+}HVC_VERSION;
+
+/*----------------------------------------------------------------------------*/
+/* Detection result                                                           */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   posX;       /* Center x-coordinate */
+    INT32   posY;       /* Center y-coordinate */
+    INT32   size;       /* Size */
+    INT32   confidence; /* Degree of confidence */
+}DETECT_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Face direction                                                             */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   yaw;        /* Yaw angle */
+    INT32   pitch;      /* Pitch angle */
+    INT32   roll;       /* Roll angle */
+    INT32   confidence; /* Degree of confidence */
+}DIR_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Age                                                                        */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   age;        /* Age */
+    INT32   confidence; /* Degree of confidence */
+}AGE_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Gender                                                                     */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   gender;     /* Gender */
+    INT32   confidence; /* Degree of confidence */
+}GENDER_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Gaze                                                                       */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   gazeLR;     /* Yaw angle */
+    INT32   gazeUD;     /* Pitch angle */
+}GAZE_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Blink                                                                      */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   ratioL;     /* Left eye blink result */
+    INT32   ratioR;     /* Right eye blink result */
+}BLINK_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Expression                                                                 */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   topExpression;  /* Top expression */
+    INT32   topScore;       /* Top score */
+    INT32   score[5];       /* Score of 5 expression */
+    INT32   degree;         /* Negative-positive degree */
+}EXPRESSION_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Face Recognition                                                           */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   uid;        /* User ID */
+    INT32   confidence; /* Degree of confidence */
+}RECOGNITION_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Face Detection & Estimations result                                        */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    DETECT_RESULT       dtResult;           /* Face detection result */
+    DIR_RESULT          dirResult;          /* Face direction estimation result */
+    AGE_RESULT          ageResult;          /* Age Estimation result */
+    GENDER_RESULT       genderResult;       /* Gender Estimation result */
+    GAZE_RESULT         gazeResult;         /* Gaze Estimation result */
+    BLINK_RESULT        blinkResult;        /* Blink Estimation result */
+    EXPRESSION_RESULT   expressionResult;   /* Expression Estimation result */
+    RECOGNITION_RESULT  recognitionResult;  /* Face Recognition result */
+}FACE_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Human Body Detection results                                               */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    UINT8           num;            /* Number of Detection */
+    DETECT_RESULT   bdResult[35];   /* Detection result */
+}BD_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Hand Detection results                                                     */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    UINT8           num;            /* Number of Detection */
+    DETECT_RESULT   hdResult[35];   /* Detection result */
+}HD_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Face Detection & Estimations results                                       */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    UINT8           num;            /* Number of Detection */
+    FACE_RESULT     fcResult[35];   /* Detection & Estimations result */
+}FD_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Image data                                                                 */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   width;
+    INT32   height;
+    UINT8   image[320*240];
+}HVC_IMAGE;
+
+/*----------------------------------------------------------------------------*/
+/* Eesult data of Execute command                                             */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32       executedFunc;   /* Execution flag */
+    BD_RESULT   bdResult;       /* Human Body Detection results */
+    HD_RESULT   hdResult;       /* Hand Detection results */
+    FD_RESULT   fdResult;       /* Face Detection & Estimations results */
+    HVC_IMAGE   image;          /* Image data */
+}HVC_RESULT;
+
+/*----------------------------------------------------------------------------*/
+/* Threshold of confidence                                                    */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   bdThreshold;        /* Threshold of confidence of Human Body Detection */
+    INT32   hdThreshold;        /* Threshold of confidence of Hand Detection */
+    INT32   dtThreshold;        /* Threshold of confidence of Face Detection */
+    INT32   rsThreshold;        /* Threshold of confidence of Face Recognition */
+}HVC_THRESHOLD;
+
+/*----------------------------------------------------------------------------*/
+/* Detection size                                                             */
+/*----------------------------------------------------------------------------*/
+typedef struct{
+    INT32   bdMinSize;          /* Minimum detection size of Human Body Detection */
+    INT32   bdMaxSize;          /* Maximum detection size of Human Body Detection */
+    INT32   hdMinSize;          /* Minimum detection size of Hand Detection */
+    INT32   hdMaxSize;          /* Maximum detection size of Hand Detection */
+    INT32   dtMinSize;          /* Minimum detection size of Face Detection */
+    INT32   dtMaxSize;          /* Maximum detection size of Face Detection */
+}HVC_SIZERANGE;
+
+#endif /* HVCDef_H__ */