123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- //
- // APFCherryDefine.h
- // APBToygerFacade
- //
- // Created by shouyi.www on 27/02/2017.
- // Copyright © 2017 DTF. All rights reserved.
- //
- #ifndef APBToygerFacadeDefine_h
- #define APBToygerFacadeDefine_h
- static float normalized_distance(float current_value, float best_value, float range) {
- return fabsf((current_value - best_value) / range);
- }
- //typedef struct toyger_status_evaluator_t {
- // float pitch;
- // float yaw;
- // float width;
- //
- // float best_pitch;
- // float best_yaw;
- // float best_width;
- // float pitch_range;
- // float yaw_range;
- // float width_range;
- // float pitch_weight;
- // float yaw_weight;
- // float width_weight;
- //
- // toyger_status_evaluator_t(float pitch_ = -0.3, float pitch_range_ = 0.7, float best_pitch_ = 0, float pitch_weight_ = 1,
- // float yaw_ = -0.6, float yaw_range_ = 0.6, float best_yaw_ = 0, float yaw_weight_ = 1,
- // float width_ = 0.2, float width_range_ = 1.2, float best_width_ = 0.7, float width_weight_ = 1){
- // pitch = pitch_;
- // yaw = yaw_;
- // width = width_;
- // pitch_range = pitch_range_;
- // yaw_range = yaw_range_;
- // width_range = width_range_;
- // best_pitch = best_pitch_;
- // best_yaw = best_yaw_;
- // best_width = best_width_;
- // pitch_weight = pitch_weight_;
- // yaw_weight = yaw_weight_;
- // width_weight = width_weight_;
- // }
- //
- // void reset(){
- // pitch = -0.3;
- // yaw = -0.6;
- // width = 0.2;
- // }
- //
- // void update(float pitch_, float yaw_, float width_) {
- // pitch = pitch_;
- // yaw = yaw_;
- // width = width_;
- // }
- //
- // float evaluateProgress(float pitch_, float yaw_, float width_){
- // return
- // (normalized_distance(pitch_, best_pitch, pitch_range) * pitch_weight +
- // normalized_distance(yaw_, best_yaw, yaw_range) * yaw_weight +
- // normalized_distance(width_, best_width, width_range) * width_weight) /
- // (pitch_weight + yaw_weight + width_weight);
- // }
- //
- // float evaluate(){
- // return 1 -
- // (normalized_distance(pitch, best_pitch, pitch_range) * pitch_weight +
- // normalized_distance(yaw, best_yaw, yaw_range) * yaw_weight +
- // normalized_distance(width, best_width, width_range) * width_weight) /
- // (pitch_weight + yaw_weight + width_weight);
- // }
- //
- //}ToygerStatusEvaluator;
- typedef struct apbtoyger_tip_evaluator_t {
- bool pose_end;
- bool has_face;
- bool did_blink;
- bool pos_okay;
- bool quality_okay;
- bool under_exposure;
- bool face_width_too_small;
- bool face_width_too_big;
- bool integrity_fail;
- bool yaw_fail;
- bool pitch_fail;
- bool tremble_fail;
- bool did_checkSeven;
- int tip_timer_wait_cnt;
- bool tip_show_switch;
- int tip_message;
- apbtoyger_tip_evaluator_t(){
- reset();
- }
- void reset(){
- has_face = false;
- did_blink = false;
- pos_okay = false;
- under_exposure = false;
- face_width_too_small = false;
- integrity_fail = false;
- pitch_fail = false;
- face_width_too_big = false;
- yaw_fail = false;
- tremble_fail = false;
- tip_timer_wait_cnt = 0;
- tip_show_switch = true;
- did_checkSeven = false;
- quality_okay = false;
- pose_end = false;
- tip_message =0;
- }
- }APBToygerTipEvaluator;
- //UI样式
- typedef enum : NSUInteger {
- APBToygerUIStyleFPPCherry = 991, //991 FPP樱桃(废弃)
- APBToygerUIStyleCherry, //992 zFace樱桃
- APBToygerUIStyleGarfield, //993 加菲
- } APBToygerUIStyle;
- #endif
|