Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: GraphicsFramework GR-PEACH_video LCD_shield_config AsciiFont R_BSP USBHost_custom
HVC/STBLib/src/STB/STBMakeResult.c@5:49a61433290a, 2017-09-05 (annotated)
- 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?
User | Revision | Line number | New 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 | } |