Ryo Hagimoto / Mbed OS GR-PEACH_HVC-P2_sample_20180314

Dependencies:   GraphicsFramework GR-PEACH_video LCD_shield_config AsciiFont R_BSP USBHost_custom

Committer:
dkato
Date:
Tue Sep 05 10:01:51 2017 +0000
Revision:
5:49a61433290a
Add HVC sensing result stabilizing library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dkato 5:49a61433290a 1 /*---------------------------------------------------------------------------*/
dkato 5:49a61433290a 2 /* Copyright(C) 2017 OMRON Corporation */
dkato 5:49a61433290a 3 /* */
dkato 5:49a61433290a 4 /* Licensed under the Apache License, Version 2.0 (the "License"); */
dkato 5:49a61433290a 5 /* you may not use this file except in compliance with the License. */
dkato 5:49a61433290a 6 /* You may obtain a copy of the License at */
dkato 5:49a61433290a 7 /* */
dkato 5:49a61433290a 8 /* http://www.apache.org/licenses/LICENSE-2.0 */
dkato 5:49a61433290a 9 /* */
dkato 5:49a61433290a 10 /* Unless required by applicable law or agreed to in writing, software */
dkato 5:49a61433290a 11 /* distributed under the License is distributed on an "AS IS" BASIS, */
dkato 5:49a61433290a 12 /* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
dkato 5:49a61433290a 13 /* See the License for the specific language governing permissions and */
dkato 5:49a61433290a 14 /* limitations under the License. */
dkato 5:49a61433290a 15 /*---------------------------------------------------------------------------*/
dkato 5:49a61433290a 16
dkato 5:49a61433290a 17 #include "STBMakeResult.h"
dkato 5:49a61433290a 18
dkato 5:49a61433290a 19
dkato 5:49a61433290a 20 /*------------------------------------------------------------------------------------------------------------------*/
dkato 5:49a61433290a 21 /* SetFaceToResult */
dkato 5:49a61433290a 22 /*------------------------------------------------------------------------------------------------------------------*/
dkato 5:49a61433290a 23 VOID SetFaceToResult ( STB_INT32 TraCnt , TraObj* trObj , FaceObj* faceObj, STB_FACE* result, const STBExecFlg* execFlg )
dkato 5:49a61433290a 24 {
dkato 5:49a61433290a 25 STB_INT32 i,j;
dkato 5:49a61433290a 26 STB_INT32 tmpFlg;
dkato 5:49a61433290a 27
dkato 5:49a61433290a 28 tmpFlg = execFlg->gen
dkato 5:49a61433290a 29 || execFlg->age
dkato 5:49a61433290a 30 || execFlg->fr
dkato 5:49a61433290a 31 || execFlg->exp
dkato 5:49a61433290a 32 || execFlg->dir
dkato 5:49a61433290a 33 || execFlg->gaz
dkato 5:49a61433290a 34 || execFlg->bli ;
dkato 5:49a61433290a 35
dkato 5:49a61433290a 36
dkato 5:49a61433290a 37 for( i = 0; i < TraCnt; i++)
dkato 5:49a61433290a 38 {
dkato 5:49a61433290a 39 result[i].nDetectID = trObj[i].nDetID ;
dkato 5:49a61433290a 40 result[i].nTrackingID = trObj[i].nTraID ;
dkato 5:49a61433290a 41 result[i].center.x = trObj[i].pos .x ;
dkato 5:49a61433290a 42 result[i].center.y = trObj[i].pos .y ;
dkato 5:49a61433290a 43 result[i].nSize = trObj[i].size ;
dkato 5:49a61433290a 44 result[i].conf = trObj[i].conf ;
dkato 5:49a61433290a 45
dkato 5:49a61433290a 46 if( tmpFlg )
dkato 5:49a61433290a 47 {
dkato 5:49a61433290a 48 for( j = 0; j < TraCnt; j++)
dkato 5:49a61433290a 49 {
dkato 5:49a61433290a 50 if( trObj[i].nTraID == faceObj[j].nTraID )
dkato 5:49a61433290a 51 {
dkato 5:49a61433290a 52 if( execFlg->age == STB_TRUE )
dkato 5:49a61433290a 53 {
dkato 5:49a61433290a 54 result[i].age.status = faceObj[j].ageStatus ;
dkato 5:49a61433290a 55 result[i].age.value = faceObj[j].ageVal ;
dkato 5:49a61433290a 56 result[i].age.conf = faceObj[j].ageConf ;
dkato 5:49a61433290a 57 }
dkato 5:49a61433290a 58 if( execFlg->bli == STB_TRUE )
dkato 5:49a61433290a 59 {
dkato 5:49a61433290a 60 result[i].blink.ratioL = faceObj[j].bliL ;
dkato 5:49a61433290a 61 result[i].blink.ratioR = faceObj[j].bliR ;
dkato 5:49a61433290a 62 result[i].blink.status = faceObj[j].bliStatus ;
dkato 5:49a61433290a 63 }
dkato 5:49a61433290a 64 if( execFlg->dir == STB_TRUE )
dkato 5:49a61433290a 65 {
dkato 5:49a61433290a 66 result[i].direction.pitch = faceObj[j].dirPitch ;
dkato 5:49a61433290a 67 result[i].direction.roll = faceObj[j].dirRoll ;
dkato 5:49a61433290a 68 result[i].direction.yaw = faceObj[j].dirYaw ;
dkato 5:49a61433290a 69 result[i].direction.status = faceObj[j].dirStatus ;
dkato 5:49a61433290a 70 result[i].direction.conf = faceObj[j].dirConf ;
dkato 5:49a61433290a 71 }
dkato 5:49a61433290a 72 if( execFlg->exp == STB_TRUE )
dkato 5:49a61433290a 73 {
dkato 5:49a61433290a 74 result[i].expression.status = faceObj[j].expStatus ;
dkato 5:49a61433290a 75 result[i].expression.value = faceObj[j].expVal ;
dkato 5:49a61433290a 76 result[i].expression.conf = faceObj[j].expConf ;
dkato 5:49a61433290a 77 }
dkato 5:49a61433290a 78 if( execFlg->gaz == STB_TRUE )
dkato 5:49a61433290a 79 {
dkato 5:49a61433290a 80 result[i].gaze.status = faceObj[j].gazStatus ;
dkato 5:49a61433290a 81 result[i].gaze.LR = faceObj[j].gazLR ;
dkato 5:49a61433290a 82 result[i].gaze.UD = faceObj[j].gazUD ;
dkato 5:49a61433290a 83 result[i].gaze.conf = faceObj[j].gazConf ;
dkato 5:49a61433290a 84 }
dkato 5:49a61433290a 85 if( execFlg->gen == STB_TRUE )
dkato 5:49a61433290a 86 {
dkato 5:49a61433290a 87 result[i].gender.status = faceObj[j].genStatus ;
dkato 5:49a61433290a 88 result[i].gender.value = faceObj[j].genVal ;
dkato 5:49a61433290a 89 result[i].gender.conf = faceObj[j].genConf ;
dkato 5:49a61433290a 90 }
dkato 5:49a61433290a 91 if( execFlg->fr == STB_TRUE )
dkato 5:49a61433290a 92 {
dkato 5:49a61433290a 93 result[i].recognition.status = faceObj[j].frStatus ;
dkato 5:49a61433290a 94 result[i].recognition.value = faceObj[j].frVal ;
dkato 5:49a61433290a 95 result[i].recognition.conf = faceObj[j].frConf ;
dkato 5:49a61433290a 96 }
dkato 5:49a61433290a 97 break;
dkato 5:49a61433290a 98 }//if( trObj[i].nTraID == faceObj[j].nTraID )
dkato 5:49a61433290a 99 }//for( j = 0; j < TraCnt; j++)
dkato 5:49a61433290a 100 }//if( tmpFlg )
dkato 5:49a61433290a 101 }//for( i = 0; i < TraCnt; i++)
dkato 5:49a61433290a 102 }
dkato 5:49a61433290a 103 /*------------------------------------------------------------------------------------------------------------------*/
dkato 5:49a61433290a 104 /* SetBodyToResult */
dkato 5:49a61433290a 105 /*------------------------------------------------------------------------------------------------------------------*/
dkato 5:49a61433290a 106 VOID SetBodyToResult(STB_INT32 TraCnt,TraObj* trObj, STB_BODY* result)
dkato 5:49a61433290a 107 {
dkato 5:49a61433290a 108 STB_INT32 i;
dkato 5:49a61433290a 109 for( i = 0; i < TraCnt; i++)
dkato 5:49a61433290a 110 {
dkato 5:49a61433290a 111 result[i].nDetectID = trObj[i].nDetID ;
dkato 5:49a61433290a 112 result[i].nTrackingID = trObj[i].nTraID ;
dkato 5:49a61433290a 113 result[i].center.x = trObj[i].pos.x ;
dkato 5:49a61433290a 114 result[i].center.y = trObj[i].pos.y ;
dkato 5:49a61433290a 115 result[i].nSize = trObj[i].size ;
dkato 5:49a61433290a 116 result[i].conf = trObj[i].conf ;
dkato 5:49a61433290a 117 }
dkato 5:49a61433290a 118
dkato 5:49a61433290a 119 }