当前位置: 首页 > wzjs >正文

高端 网站ps网页设计尺寸规范

高端 网站,ps网页设计尺寸规范,房地产开发公司的简介,美食网站开发的原则【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: Camera相机人脸识别系列专题分析之十一:人脸特征检测FFD算法之低功耗libvega_face.so人脸属性(年龄,性别,肤…

【关注我,后续持续新增专题博文,谢谢!!!】

上一篇我们讲了

Camera相机人脸识别系列专题分析之十一:人脸特征检测FFD算法之低功耗libvega_face.so人脸属性(年龄,性别,肤色,微笑,种族等)检测流程详解

        这一篇我们开始讲 Camera相机人脸识别系列专题分析之十二:人脸特征检测FFD算法之libvega_face.so数据结构详解

目录

一、背景

二、:FFD算法之libvega_face.so数据结构

    2.1:vega_face常规数据结构

    2.2 :MTK平台FD数据结构


一、背景

我们知道:软件 = 算法 + 数据结构,之前我们讲了FFD算法之libvega_face.so的流程,如果没有理解数据结构,也很难理解,这里汇总相关的数据结构,便于理解。

二、:FFD算法之libvega_face.so数据结构

    2.1:vega_face常规数据结构

主要涉及:

  1. vega_face_model_type_t
  2. vega_face_model_buffer_t
  3. vega_face_init_param_t
  4. vega_face_timestamp_t
  5. vega_face_pixel_format_t
  6. vega_face_orientation_t 人脸方向
  7. vega_face_frame_t 人脸帧数据
  8. vega_face_rect_t 人脸矩形
  9. vega_face_points_layout_t
  10. vega_face_points_t 人脸点位
  11. vega_face_euler_angle_t 性别结构体
  12. vega_face_classify_label_t
  13. vega_face_attribute_t 人脸属性结构体
  14. vega_face_track_mainface_config_t
#define VEGA_FACE_OK                    0
#define VEGA_FACE_E_UNSUPPORTED         -10000
#define VEGA_FACE_E_FAIL                -10001
#define VEGA_FACE_E_PARAM               -10002
#define VEGA_FACE_E_LICENSE             -10003
#define VEGA_FACE_E_HANDLE              -10004
#define VEGA_FACE_E_PARAM_INCAMPAT      -10005
#define VEGA_FACE_E_NOT_FOUND           -10006typedef int vega_face_errcode_t;typedef uint64_t vega_face_handle_t;#define VEGA_FACE_CONFIG_DEFAULT            0x00000000#define VEGA_FACE_CONFIG_RESIZE_IMG_320W    0x00000001
#define VEGA_FACE_CONFIG_RESIZE_IMG_480W    0x00000002
#define VEGA_FACE_CONFIG_RESIZE_IMG_640W    0x00000003
#define VEGA_FACE_CONFIG_RESIZE_IMG_720W    0x00000004
#define VEGA_FACE_CONFIG_RESIZE_IMG_960W    0x00000005
#define VEGA_FACE_CONFIG_RESIZE_IMG_1080W   0x00000006
#define VEGA_FACE_CONFIG_RESIZE_IMG_1280W   0x00000007#define VEGA_FACE_CONFIG_TRACK_TWO_THREAD   0x00000100
#define VEGA_FACE_CONFIG_BYPASS             0x00000200#define VEGA_FACE_CONFIG_ALIGN_2D_137       0x00010000
#define VEGA_FACE_CONFIG_ALIGN_2D_285       0x00020000typedef uint64_t vega_face_config_t;typedef enum {VEGA_FACE_DETECT_MODEL    = 0,VEGA_FACE_TRACK_MODEL     = 1,VEGA_FACE_ALIGN_MODEL     = 2,VEGA_FACE_ATTRIBUTE_MODEL = 3,VEGA_FACE_MODEL_COUNT     = 8
} vega_face_model_type_t;typedef struct {const void *buffer;unsigned int buffer_size;
} vega_face_model_buffer_t;typedef struct {unsigned int struct_size;const char *model_path[VEGA_FACE_MODEL_COUNT];vega_face_model_buffer_t model_buffer[VEGA_FACE_MODEL_COUNT];vega_face_config_t config;
} vega_face_init_param_t;typedef struct {long int tv_sec;long int tv_usec;
} vega_face_timestamp_t;typedef enum {VEGA_FACE_PIX_FMT_GRAY8    = 0,VEGA_FACE_PIX_FMT_YUV420P  = 1,VEGA_FACE_PIX_FMT_NV12     = 2,VEGA_FACE_PIX_FMT_NV21     = 3,VEGA_FACE_PIX_FMT_BGRA8888 = 4,VEGA_FACE_PIX_FMT_BGR888   = 5,VEGA_FACE_PIX_FMT_RGBA8888 = 6,VEGA_FACE_PIX_FMT_RGB888   = 7
} vega_face_pixel_format_t;typedef enum {VEGA_FACE_UP      = 0,VEGA_FACE_LEFT    = 1,VEGA_FACE_DOWN    = 2,VEGA_FACE_RIGHT   = 3,VEGA_FACE_UNKNOWN = 4
} vega_face_orientation_t;typedef struct {unsigned int struct_size;unsigned int ID;vega_face_pixel_format_t pixel_format;const unsigned char *data;int width;int height;int stride;vega_face_orientation_t orientation;vega_face_timestamp_t time_stamp;
} vega_face_frame_t;typedef uint64_t vega_face_result_t;typedef uint64_t vega_face_faceinfo_t;typedef struct {float left;float top;float right;float bottom;
} vega_face_rect_t;typedef enum {VEGA_FACE_POINTS_LAYOUT_2D_XYXY = 0,VEGA_FACE_POINTS_LAYOUT_2D_XXYY = 1
} vega_face_points_layout_t;typedef struct {vega_face_points_layout_t layout;float *buf;unsigned int buf_size;
} vega_face_points_t;typedef struct {float yaw;float pitch;float roll;
} vega_face_euler_angle_t;typedef struct {int label;float score;
} vega_face_classify_label_t;typedef struct {float age;vega_face_classify_label_t gender;vega_face_classify_label_t race_yellow;vega_face_classify_label_t race_black;vega_face_classify_label_t race_white;vega_face_classify_label_t race_brown;
} vega_face_attribute_t;typedef struct {bool enable_main_face_mode;float mainface_track_target_replace_thresh;float mainface_detect_score_weight;float mainface_rect_area_weight;float mainface_center_distance_weight;
} vega_face_track_mainface_config_t;

    2.2 :MTK平台FD数据结构

主要涉及写入meta,并传递给APP的参数结构:

  1. FD_Frame_Parameters
  2. oplusFaceDataAppJoint
  3. thirdFfdPreviewAppData
  4. thirdProcessData
  5. thirdFfd_data_t
  6. thirdFaceROIData
  7. thirdRectangleCoordinate
enum HalFDMode_e {HAL_FD_MODE_FD = 0,HAL_FD_MODE_SD,HAL_FD_MODE_VFB,HAL_FD_MODE_CFB,HAL_FD_MODE_VSDOF,HAL_FD_MODE_MANUAL
} ;enum HalFDObject_e {HAL_FD_OBJ_NONE = 0,HAL_FD_OBJ_SW,HAL_FD_OBJ_HW,HAL_FD_OBJ_FDFT_SW,#ifdef third_FEATURE_CAMERA_COMMONHAL_FD_OBJ_CUSFD_SW,#endifHAL_FD_OBJ_UNKNOWN = 0xFF
} ;enum HalFDVersion_e {HAL_FD_VER_NONE = 0,HAL_FD_VER_HW36,HAL_FD_VER_HW37,HAL_FD_VER_SW36,HAL_FD_VER_HW40,HAL_FD_VER_HW41,HAL_FD_VER_HW42,HAL_FD_VER_HW43,HAL_FD_VER_HW50,HAL_FD_VER_HW51,HAL_FD_VER_HW52,
};struct FD_RESULT {MINT32 rect[4];MINT32 score = -1;MINT32 rop_dir = -1;MINT32 rip_dir = -1;
};struct FD_Frame_Parameters {MUINT8 *pScaleImages;MUINT8 *pRGB565Image;MUINT8 *pPureYImage;MUINT8 *pImageBufferPhyP0; // Plane 0 of preview image physical addressMUINT8 *pImageBufferPhyP1; // Plane 1 of preview image physical addressMUINT8 *pImageBufferPhyP2; // Plane 2 of preview image physical addressMUINT8 *pImageBufferVirtual;MINT32 Rotation_Info;MUINT8 SDEnable;MUINT8 AEStable;MUINT32 padding_w;MUINT32 padding_h;MINT32 gammaType;MINT32 LvValue;MINT32 MagicNum = 0;MUINT32 FD_Y;MUINT8 *pImageBufferY;NSCam::MSize sensorSize;void* imgBuffer;MINT32 frameNo;thirdSize thirdCusSensorSize;thirdFaceDataAppJoint faceData;
};#define thirdFD_MAX_FFD_NUM 137
#define thirdFD_MAX_FFD_NUM_296 296
#define thirdFD_MAX_FFD_NUM_512 512
#define thirdFD_MAX_ATTRI_FACE_NUM 4
#define thirdFD_RESERVE_ITEM 40
#define thirdFD_HSV_CHANNEL_NUM 3
#define thirdFD_MAX_FACE_ROIS 5
#define thirdFD_MAX_FD_NUM 15typedef struct {int32_t age[thirdFD_MAX_ATTRI_FACE_NUM];int32_t gender[thirdFD_MAX_ATTRI_FACE_NUM];int32_t feature[thirdFD_MAX_ATTRI_FACE_NUM];int32_t race[thirdFD_MAX_ATTRI_FACE_NUM];
} thirdAttributeResult;typedef struct {uint32_t   left;      ///< x coordinate of the ROIuint32_t   top;       ///< y coordinate of the ROIuint32_t   width;     ///< Width of the ROIuint32_t   height;    ///< Height of the ROI
} thirdRectangleCoordinate;/// @brief Describes Face ROI
typedef struct {uint32_t   id;           ///< Id used to track a face in the sceneuint32_t   confidence;   ///< Confidence of this facethirdRectangleCoordinate    faceRect;     ///< Detected Face rectangle
} thirdFaceROIData;typedef struct {int32_t x[thirdFD_MAX_FFD_NUM];int32_t y[thirdFD_MAX_FFD_NUM];int32_t occlusion[thirdFD_MAX_FFD_NUM];
} thirdFfd_data_t;typedef struct {int32_t versionId;int32_t face_num;int32_t master_index;int32_t points_count;int32_t age[thirdFD_MAX_FD_NUM];int32_t gender[thirdFD_MAX_FD_NUM];thirdFfd_data_t ffd_data[thirdFD_MAX_FD_NUM];thirdFfd_data_t ori_ffd_data[thirdFD_MAX_FD_NUM];thirdFaceROIData face_roi[thirdFD_MAX_FD_NUM];uint32_t fdDimensionW;                        ///< Face detection widthuint32_t fdDimensionH;                        ///< Face detection heightint32_t yaw[thirdFD_MAX_FD_NUM];int32_t pitch[thirdFD_MAX_FD_NUM];int32_t roll[thirdFD_MAX_FD_NUM];int32_t faceLuma[thirdFD_MAX_FD_NUM];int32_t faceLumaRatio;int32_t colorTemperature;int32_t lip_HSV[thirdFD_MAX_FD_NUM * thirdFD_HSV_CHANNEL_NUM];int32_t iso;int32_t feature[thirdFD_MAX_FD_NUM];int32_t faceid[thirdFD_MAX_FD_NUM];int32_t reserve[thirdFD_RESERVE_ITEM];int32_t race[thirdFD_MAX_FD_NUM];
} thirdFace_data_app_t;typedef struct {int32_t x[thirdFD_MAX_FFD_NUM_512];int32_t y[thirdFD_MAX_FFD_NUM_512];int32_t occlusion[thirdFD_MAX_FFD_NUM_512];
} thirdFfdPreviewData;typedef struct {thirdFfdPreviewData ffdData[thirdFD_MAX_FD_NUM];thirdFfdPreviewData oriFfdData[thirdFD_MAX_FD_NUM];int pointsCount;
} thirdFfdPreviewAppData;typedef struct {int w;int h;
} thirdSize;typedef struct {int makeupState;bool isEISOn;thirdSize previewImgSize;
} thirdFaceInitData;typedef struct {thirdSize sensorSize;thirdSize previewSize;thirdSize ImgSize;bool isEisOn;
} thirdProcessData;typedef struct {thirdFace_data_app_t faceInfoOri;thirdFfdPreviewAppData ffd296Data;thirdProcessData fdProcessInfo;
} thirdFaceDataAppJoint;

【关注我,后续持续新增专题博文,谢谢!!!】

下一篇讲解


文章转载自:

http://hr5s5ll4.qymqh.cn
http://MKxHdPM2.qymqh.cn
http://BhDmoPMj.qymqh.cn
http://KIyWXCaS.qymqh.cn
http://Ytw8i1I7.qymqh.cn
http://OI0TYPm9.qymqh.cn
http://cttdRD1S.qymqh.cn
http://Xua5uICJ.qymqh.cn
http://qBGVUMpK.qymqh.cn
http://gpOwHlfT.qymqh.cn
http://a7euw3GK.qymqh.cn
http://imRFTmSF.qymqh.cn
http://A1G48ecn.qymqh.cn
http://Sr5jvbIy.qymqh.cn
http://RbL7XXqE.qymqh.cn
http://RbbJPZbi.qymqh.cn
http://tykfIhy5.qymqh.cn
http://QCsx3Ko2.qymqh.cn
http://PSgG0mDt.qymqh.cn
http://ZBSNulTi.qymqh.cn
http://Dq1nVwXo.qymqh.cn
http://8YpHyl7o.qymqh.cn
http://tQUTcAem.qymqh.cn
http://z1h4EqEb.qymqh.cn
http://iQov5iM8.qymqh.cn
http://bBTO9gyC.qymqh.cn
http://GwNLRv8R.qymqh.cn
http://Al5z4TbB.qymqh.cn
http://QDDk9Bvq.qymqh.cn
http://xEOvL6fw.qymqh.cn
http://www.dtcms.com/wzjs/686516.html

相关文章:

  • 吸引人的网站类型动易网站安装子目录中
  • 在您的网站首页添加标签营销策划公司名字简单大气
  • 广东省城乡建设厅网站wordpress 做cms
  • 爱站关键词西安注册公司网上申请入口
  • 北京南站列车时刻表wordpress需要钱吗
  • 餐饮网站界面推广资源网
  • 如何查看一个网站的浏览量外贸网站营销方案
  • 茂名建设企业网站国外设计有名网站
  • phpnow搭建本地网站网站建设与管理常用
  • 海南省两学一做网站网站设计服务合同
  • 深圳网站关键词排名怎么在网站上做图片轮播
  • 开发区全力做好网站建设做黄金的经常看什么网站
  • 商丘做网站的价格旅游在哪个网站做攻略
  • 做网站空间 阿里云wordpress条件判断
  • 湖南株洲静默免费seo网站推广在线观看
  • 嵩县网站开发网站asp文件只读
  • 网站建设投标ppt模板下载考试微网站开发
  • 邢台做网站哪家好设计工作室logo创意
  • 做调查问卷的网站seo怎么优化
  • 温州网站建设模板下载免费wordpress类似软件
  • 超值高端网站设计怎样做寻亲网站志愿者
  • 网站建设法语南宁网站制作计划
  • 官方网站建设情况中堂做网站
  • 购物网站开发需求文档肥城 网站建设
  • 域名和网站空间相互做解析专门做动漫的网站有哪些
  • 网站首页需求代写企业软文
  • 建立购物网站 app线上推广费用预算
  • 山东网站优化乐陵网站服务在哪一条
  • 大学生兼职网站开发毕设论文规模以上工业企业分析
  • 邯郸网站建设渠道先做网站还是app