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

网站推广投放云南网络营销seo

网站推广投放,云南网络营销seo,网站外链 快速建设,百度网站排名提升工具【关注我#xff0c;后续持续新增专题博文#xff0c;谢谢#xff01;#xff01;#xff01;】 上一篇我们讲了#xff1a; 这一篇我们开始讲#xff1a; Camera相机人脸识别系列专题分析之十六#xff1a;人脸特征检测FFD算法之libcvface_api.so数据结构详细注释解析…【关注我后续持续新增专题博文谢谢】 上一篇我们讲了 这一篇我们开始讲 Camera相机人脸识别系列专题分析之十六人脸特征检测FFD算法之libcvface_api.so数据结构详细注释解析 目录 一、libcvface_api.so数据结构详细注释解析 一、libcvface_api.so数据结构详细注释解析 /// brief 人脸信息结构体 typedef struct cv_face_t {cv_rect_t rect; /// 代表面部的矩形区域float score; /// 置信度用于筛除负例与人脸照片质量无关值越高表示置信度越高。float yaw; /// 水平转角真实度量的左负右正float pitch; /// 俯仰角真实度量的上负下正float roll; /// 旋转角真实度量的左负右正float eye_dist; /// 两眼间距int ID; /// faceID用于表示在实时人脸跟踪中的相同人脸在不同帧多次出现在人脸检测的结果中无实际意义cv_landmarks_t landmarks;cv_pointf_t points_more[512]; /// 全部关键点信息不开启240状态下默认仅包含106 新增的31额头关键点  137// unsigned char occlusion[512]; /// 遮挡点信息int points_count; /// 全部关键点数量unsigned char occlusion[512]; /// 遮挡点信息 } cv_face_t;/// brief 分割信息结构体 /// 若嘴唇分割模型输出小于低阈值即无遮挡口红效果不变。 /// 若嘴唇分割模型输出大于高阈值为遮挡输出原始嘴唇像素值。 /// 若嘴唇分割模型输出在高低阈值之间做透明度过渡。 typedef struct cv_face_segment_t {cv_image_t* mask;/// mask数据gray类型像素范围0-255float mouth_score;///用来缓解嘴唇分割模型在无遮挡场景误判的问题float min_thr;///无遮挡胖定阈值float max_thr;///遮挡判定阈值cv_pointf_t offset;///mask位于原图的左上角坐标 }cv_face_segment_t;typedef struct cv_face_matrix_attribute_t {int gender;float age;float smile;int race; } cv_face_matrix_attribute_t;// brief 质量信息结构体 typedef struct cv_selector_message {float integrity; // 脸部画面完成度[0, 1]float summary_score; // 汇总后的质量分数大部分位于[0, 1]但不保证 } cv__selector_message;/// 人脸检测、跟踪配置选项 #define CV_FACE_DEFAULT_CONFIG 0x00000000 /// 默认选项不设置任何开关 #define CV_FACE_RESIZE_IMG_320W 0x00000002 /// resize图像为长边320的图像 #define CV_FACE_RESIZE_IMG_480W 0x00000004 /// resize图像为长边480的图像 #define CV_FACE_RESIZE_IMG_640W 0x00000008 /// resize图像为长边640的图像 #define CV_FACE_RESIZE_IMG_720W 0x00000010 /// resize图像为长边720的图像 #define CV_FACE_RESIZE_IMG_960W 0x00000020 /// resize图像为长边960的图像 #define CV_FACE_RESIZE_IMG_1080W 0x00000040 /// resize图像为长边1080的图像 #define CV_FACE_RESIZE_IMG_1280W 0x00000080 /// resize图像为长边1280的图像/// high precision keypoints config flags #define CV_FACE_ENABLE_HIGH_PRECISION_LIPS 0x00001000 /// 开启嘴唇精度优化。 #define CV_FACE_ENABLE_HIGH_PRECISION_EYE 0x00002000 /// 开启眼眶精度优化。预留字段暂未启用。 #define CV_FACE_ENABLE_HIGH_PRECISION_EYEBROW 0x00004000 /// 开启眉毛精度优化。预留字段暂未启用。 #define CV_FACE_ENABLE_HIGH_PRECISION_IRIS 0x00008000 /// 开启瞳孔点。预留字段暂未启用。/// detect main obj flag #define CV_FACE_ENABLE_MAIN_OBJECT_TRACK 0x00020000 /// 开启主体追踪功能#define CV_FACE_ENABLE_MIDDLE_PRECISION_KEYPOINTS 0x02000000 /// 开启中等精度282关键点模式 #define CV_FACE_ENABLE_LOW_PRECISION_KEYPOINTS 0x01000000 /// 开启低精度关键点模式仅输出137点(10631额头点)/// detect config flags, 0x----00-- ~ 0x----FF-- #define CV_DETECT_ENABLE_ALIGN_21 0x00000100 /// 开启面部关键21点检测选项 #define CV_DETECT_ENABLE_ALIGN_106 0x00000200 /// 开启面部关键106点检测选项 #define CV_DETECT_ENABLE_ALIGN_296 0x00000400 /// 开启面部关键296点检测选项/// 该版本sdk未开启此功能(如面部关键21点检测版本传入了面部关键106点检测参数) #define CV_E_UNSURPPORTED (-1000) /// 指定位置未找到license.lic文件 #define CV_E_MISSLICENSE (-1001) /// cv_face_init_license_config 函数被重复调用 #define CV_E_MULTI_CALLS (-1002)/// brief 人脸朝向 typedef enum {CV_FACE_UP 0x0000001, /// 人脸向上即人脸朝向正常CV_FACE_LEFT 0x0000002, /// 人脸向左即人脸被逆时针旋转了90度CV_FACE_DOWN 0x0000004, /// 人脸向下即人脸被逆时针旋转了180度CV_FACE_RIGHT 0x0000008, /// 人脸向右即人脸被逆时针旋转了270度CV_FACE_UNKNOWN 0xf /// 人脸朝向未知API自动判断人脸朝向耗时增加。face_track不支持此参数等同于CV_FACE_UP } cv_face_orientation;// CONFIG_ST_FACE_API_COLOR_CONVERT // color convert typedef enum {CV_BGRA_YUV420P 0, /// CV_PIX_FMT_BGRA8888到CV_PIX_FMT_YUV420P转换CV_BGR_YUV420P 1, /// CV_PIX_FMT_BGR888到CV_PIX_FMT_YUV420P转换CV_BGRA_NV12 2, /// CV_PIX_FMT_BGRA8888到CV_PIX_FMT_NV12转换CV_BGR_NV12 3, /// CV_PIX_FMT_BGR888到CV_PIX_FMT_NV12转换CV_BGRA_NV21 4, /// CV_PIX_FMT_BGRA8888到CV_PIX_FMT_NV21转换CV_BGR_NV21 5, /// CV_PIX_FMT_BGR888到CV_PIX_FMT_NV21转换CV_YUV420P_BGRA 6, /// CV_PIX_FMT_YUV420P到CV_PIX_FMT_BGRA8888转换CV_YUV420P_BGR 7, /// CV_PIX_FMT_YUV420P到CV_PIX_FMT_BGR888转换CV_NV12_BGRA 8, /// CV_PIX_FMT_NV12到CV_PIX_FMT_BGRA8888转换CV_NV12_BGR 9, /// CV_PIX_FMT_NV12到CV_PIX_FMT_BGR888转换CV_NV21_BGRA 10, /// CV_PIX_FMT_NV21到CV_PIX_FMT_BGRA8888转换CV_NV21_BGR 11, /// CV_PIX_FMT_NV21到CV_PIX_FMT_BGR888转换CV_BGRA_GRAY 12, /// CV_PIX_FMT_BGRA8888到CV_PIX_FMT_GRAY8转换CV_BGR_BGRA 13, /// CV_PIX_FMT_BGR888到CV_PIX_FMT_BGRA8888转换CV_BGRA_BGR 14, /// CV_PIX_FMT_BGRA8888到CV_PIX_FMT_BGR888转换CV_YUV420P_GRAY 15, /// CV_PIX_FMT_YUV420P到CV_PIX_FMT_GRAY8转换CV_NV12_GRAY 16, /// CV_PIX_FMT_NV12到CV_PIX_FMT_GRAY8转换CV_NV21_GRAY 17, /// CV_PIX_FMT_NV21到CV_PIX_FMT_GRAY8转换CV_BGR_GRAY 18, /// CV_PIX_FMT_BGR888到CV_PIX_FMT_GRAY8转换CV_GRAY_YUV420P 19, /// CV_PIX_FMT_GRAY8到CV_PIX_FMT_YUV420P转换CV_GRAY_NV12 20, /// CV_PIX_FMT_GRAY8到CV_PIX_FMT_NV12转换CV_GRAY_NV21 21, /// CV_PIX_FMT_GRAY8到CV_PIX_FMT_NV21转换CV_NV12_YUV420P 22, /// CV_PIX_FMT_GRAY8到CV_PIX_FMT_NV21转换CV_NV21_YUV420P 23, /// CV_PIX_FMT_GRAY8到CV_PIX_FMT_NV21转换CV_NV21_RGBA 24, /// CV_PIX_FMT_NV21到CV_PIX_FMT_RGBA转换CV_BGR_RGBA 25, /// CV_PIX_FMT_BGR到CV_PIX_FMT_RGBA转换CV_BGRA_RGBA 26, /// CV_PIX_FMT_BGRA到CV_PIX_FMT_RGBA转换CV_RGBA_BGRA 27, /// CV_PIX_FMT_RGBA到CV_PIX_FMT_BGRA转换CV_GRAY_BGR 28, /// CV_PIX_FMT_GRAY8到CV_PIX_FMT_BGR888转换CV_GRAY_BGRA 29, /// CV_PIX_FMT_GRAY8到CV_PIX_FMT_BGRA8888转换CV_NV12_RGBA 30, /// CV_PIX_FMT_NV12到CV_PIX_FMT_RGBA8888转换CV_NV12_RGB 31, /// CV_PIX_FMT_NV12到CV_PIX_FMT_RGB888转换CV_RGBA_NV12 32, /// CV_PIX_FMT_RGBA8888到CV_PIX_FMT_NV12转换CV_RGB_NV12 33, /// CV_PIX_FMT_RGB888到CV_PIX_FMT_NV12转换CV_RGBA_BGR 34, /// CV_PIX_FMT_RGBA888到CV_PIX_FMT_BGR888转换CV_BGRA_RGB 35, /// CV_PIX_FMT_BGRA888到CV_PIX_FMT_RGB888转换CV_RGBA_GRAY 36,CV_RGB_GRAY 37,CV_RGB_BGR 38,CV_BGR_RGB 39,CV_YUV420P_RGBA 40,CV_RGBA_YUV420P 41 } cv_color_convert;// CONFIG_ST_FACE_API_ATTRIBUTE/// defgroup cvface_attribute cvface attribute /// brief face attribute detection interfaces /// /// This set of interfaces detect face attribute like emotion, accessories etc. /// /// {/// 推荐阀值设置为50可根据实际场景进行微调typedef enum {CV_FEATURE_AGE 0, /// 年龄 0 - 100CV_FEATURE_GENDER_MALE 1, /// 性别 为男性的百分比置信度(0-100)CV_FEATURE_ATTRACTIVE 2, /// 魅力 0 - 100CV_FEATURE_EYEGLASS 3, /// 眼镜 百分比置信度(0-100)CV_FEATURE_SUNGLASS 4, /// 太阳镜 百分比置信度(0-100)CV_FEATURE_SMILE 5, /// 微笑 百分比置信度(0-100)CV_FEATURE_MASK 6, /// 面具 百分比置信度(0-100)CV_FEATURE_RACE 7, /// 种族 Yellow 0, Black 1,White 2CV_FEATURE_EYE_OPEN 8, /// 眼睛睁开 百分比置信度(0-100)CV_FEATURE_MOUTH_OPEN 9, /// 嘴巴张开 百分比置信度(0-100)CV_FEATURE_BEARD 10, /// 有胡子 百分比置信度(0-100)CV_FEATURE_LUMA 11, /// 肤色 百分比置信度(0-100)CV_FEATURE_SKIN 12, /// 肤质 百分比置信度(0-100)CV_FEATURE_QUAILITY 13, /// 人脸质量 百分比置信度(0-100)CV_FEATURE_COVER 14, /// 遮挡 百分比置信度(0-100)CV_FEATURE_EXPRESSION 15, /// 表情 百分比置信度(0-100)CV_FEATURE_QUALITY_PIC 16, /// 图片质量 百分比置信度(0-100)CV_FEATURE_LUMA_U 17, /// 肤色U通道 百分比置信度(0-100)CV_FEATURE_LUMA_V 18, /// 肤色V通道 百分比置信度(0-100)CV_FEATURE_RACE_YELLOW 20, /// 种族黄 百分比置信度(0-100)CV_FEATURE_RACE_BLACK 21, /// 种族黑 百分比置信度(0-100)CV_FEATURE_RACE_WHITE 22, /// 种族白 百分比置信度(0-100)CV_FEATURE_RACE_BROWN 23, /// 种族棕 百分比置信度(0-100)CV_FEATURE_LENGTH 32 /// 属性条目数 } cv_attribute_feature_type;/// 表情为置信度最高的选项 typedef enum {CV_EMOTION_ANGRY 0, /// 愤怒 百分比置信度(0-100)CV_EMOTION_CALM 1, /// 平静 百分比置信度(0-100)CV_EMOTION_CONFUSED 2, /// 困惑 百分比置信度(0-100)CV_EMOTION_DISGUST 3, /// 厌恶 百分比置信度(0-100)CV_EMOTION_HAPPY 4, /// 高兴 百分比置信度(0-100)CV_EMOTION_SAD 5, /// 悲伤 百分比置信度(0-100)CV_EMOTION_SCARED 6, /// 惊恐 百分比置信度(0-100)CV_EMOTION_SURPRISED 7, /// 诧异 百分比置信度(0-100)CV_EMOTION_SQUINT 8, /// 斜视 百分比置信度(0-100)CV_EMOTION_SCREAM 9, /// 尖叫 百分比置信度(0-100)CV_EMOTION_LENGTH 32 /// 属性条目数 百分比置信度(0-100) } cv_attribute_emotion_type;#define CV_E_COMMON_LIB 0x19 #define CV_E_COMMON_MODULE_FOUNDATION 0x00 #define CV_E_COMMON_MODULE_DETECTION 0x01#define CV_E_COMMON_DETECTION_CAPABILITY_NOT_SUPPORTED \CV_ERR_PACK(CV_E_COMMON_LIB, CV_E_COMMON_MODULE_DETECTION, 0x01) /// 不支持的detection输出 #define CV_E_COMMON_SUBMODULE_NON_EXIT \CV_ERR_PACK(CV_E_COMMON_LIB, CV_E_COMMON_MODULE_FOUNDATION, 0x03) /// 子模型不存在 #define CV_E_COMMON_FEATURE_ILLEGAL_VALUE \CV_ERR_PACK(CV_E_COMMON_LIB, CV_E_COMMON_MODULE_FOUNDATION, 0x04) /// 特征值非法/// cv handle declaration typedef void *cv_handle_t;/// cv result declaration typedef cv_errcode cv_result_t;/// cv rectangle definition typedef struct cv_rect_t {int left; /// 矩形最左边的坐标int top; /// 矩形最上边的坐标int right; /// 矩形最右边的坐标int bottom; /// 矩形最下边的坐标 } cv_rect_t;/// cv float type point definition typedef struct cv_pointf_t {float x; /// 点的水平方向坐标, 为浮点数float y; /// 点的竖直方向坐标, 为浮点数 } cv_pointf_t;/// cv integer type point definition typedef struct cv_pointi_t {int x; /// 点的水平方向坐标, 为整数int y; /// 点的竖直方向坐标, 为整数 } cv_pointi_t;/// cv float type 3d point definition typedef struct cv_point3f_t {float x; /// 点的水平方向坐标, 为浮点数float y; /// 点的竖直方向坐标, 为浮点数float z; /// 点的深度坐标, 为浮点数 } cv_point3f_t;/// pose definition typedef struct cv_pose_t {float yaw; /// 围绕Y轴旋转也叫偏航角float pitch; /// 围绕X轴旋转也叫做俯仰角float roll; /// 围绕Z轴旋转也叫翻滚角 } cv_pose_t;typedef struct cv_landmarks_extra_info_t {float affine_mat[3][3]; /// 仿射变换矩阵cv_point3f_t *points_ori; /// 原始关键点数组int points_count; /// 关键点数量int model_input_size;float left_eye_score; /// 左眼球置信度float right_eye_score; /// 右眼球置信度float mouth_score; /// 嘴部遮挡置信度 } cv_landmarks_extra_info_t;/// cv landmarks array struct typedef struct cv_landmarks_t {cv_point3f_t *points_array; /// 关键点数组unsigned char *occlusion;int points_count; /// 关键点数量int label; /// tracking得到float score; /// 关键点置信的labelfloat label_score;void *extra_info; /// the real type is cv_landmarks_extra_info_t* or others, its up to the modelsfloat *points_score;unsigned int reserved1;unsigned int reserved2; } cv_landmarks_t;/// brief detection结果 typedef struct cv_detection_result_t {cv_rect_t rect; /// 结果rectfloat score; /// 结果分数int label; /// 结果标签int orientation; /// 结果朝向unsigned int reserved1;unsigned int reserved2; } cv_detection_result_t;/// brief 关键点 typedef struct cv_keypoint_t {cv_pointf_t point; /// 关键点float score; /// 关键点置信度unsigned int reserved1;unsigned int reserved2; } cv_keypoint_t;/// brief 跟踪结果 typedef struct cv_target_t {cv_detection_result_t detect_result; /// 框cv_landmarks_t landmarks; /// 关键点int id; /// 目标ID, 用于表示在目标跟踪中的相同目标在不同帧多次出现 } cv_target_t;/// brief template track中间状态 typedef struct cv_template_state_t {cv_rect_t rect;float score;float angle;int corr_feature_size;float* corr_feature; } cv_template_state_t;/// brief template track跟踪结果 typedef struct cv_template_target_t {cv_detection_result_t detect_result; /// 框cv_landmarks_t landmarks; /// 关键点int id; /// 目标ID, 用于表示在目标跟踪中的相同目标在不同帧多次出现cv_template_state_t state; } cv_template_target_t;/// brief template track 跟踪结果new typedef struct cv_template_track_target_t {cv_detection_result_t detect_result; /// 框int id; /// 目标ID, 用于表示在目标跟踪中的相同目标在不同帧多次出现cv_template_state_t state; } cv_template_track_target_t;/// brief template facial track 跟踪结果 typedef struct cv_template_facial_track_target_t {cv_template_track_target_t track_target;cv_landmarks_t landmarks; } cv_template_facial_track_target_t; /// brief template universal track 跟踪结果 typedef struct cv_template_universal_track_target_t {cv_template_track_target_t track_target; } cv_template_universal_track_target_t;/// brief pose refine结果 typedef struct cv_template_pose_refine_t {cv_rect_t rect; /// 框cv_rect_t rect_in_origin; ///原图框float score; /// 分float angle; /// 角 } cv_template_pose_refine_t; /// 相机类型 typedef enum {CV_PROJECTION 0, /// 投影相机CV_ORTHO 1, /// 正交相机CV_DEPTH 2, /// 深度相机 } cv_camera_type;/// 相机内参 typedef struct cv_intrinsic_param_t {cv_camera_type camera_type; /// 相机类型int calib_width, calib_height; /// 相机标定时分辨率float camera_matrix[3][3]; /// 相机内参矩阵 [ fx, 0.0f, cx | 0.0f, fy, cy | 0.0f, 0.0f, 1.0f ]float dist_coeffs[8]; /// 相机畸变参数 [ k1, k2, p1, p2, k3, k4, k5, k6 ]void *ext; /// 其他畸变计算 } cv_intrinsic_param_t;typedef struct cv_extrinsic_param_t {float rotation_matrix[3][3]; /// 旋转矩阵float translation[3]; /// 平移向量 } cv_extrinsic_param_t;/// brief 朝向信息 typedef enum {CV_ORIENTATION_0 0, /// 不做旋转预处理CV_ORIENTATION_90 1, /// 预处理图像, 将输入图像顺时针旋转90度, 再执行后续操作CV_ORIENTATION_180 2, /// 预处理图像, 将输入图像顺时针旋转180度, 再执行后续操作CV_ORIENTATION_270 3, /// 预处理图像, 将输入图像顺时针旋转270度, 再执行后续操作 } cv_orientation;/// cv pixel format definition注意某些算法可能仅仅支持部分图像格式 typedef enum {CV_PIX_FMT_GRAY8, /// Y 1 8bpp ( 单通道8bit灰度像素 )CV_PIX_FMT_YUV420P, /// YUV 4:2:0 12bpp ( 3通道, 一个亮度通道, 另两个为U分量和V分量通道, 所有通道都是连续的 )CV_PIX_FMT_NV12, /// YUV 4:2:0 12bpp ( 2通道, 一个通道是连续的亮度通道, 另一通道为UV分量交错 )CV_PIX_FMT_NV21, /// YUV 4:2:0 12bpp ( 2通道, 一个通道是连续的亮度通道, 另一通道为VU分量交错 )CV_PIX_FMT_BGRA8888, /// BGRA 8:8:8:8 32bpp ( 4通道32bit BGRA 像素 )CV_PIX_FMT_BGR888, /// BGR 8:8:8 24bpp ( 3通道24bit BGR 像素 )/// 以下图像格式只在fastcv开启时支持CV_PIX_FMT_RGBA8888, /// RGBA 8:8:88 32bpp ( 4通道32bit RGBA 像素 )CV_PIX_FMT_RGB888, /// RGB 8:8:8 24bpp ( 3通道24bit RGB 像素 )CV_PIX_FMT_GRAY16, /// 特殊图像格式并不提供旋转以及到其他格式的转换等CV_PIX_FMT_RGB565, /// RGB 5:6:5 16bpp只在fastcv开启时支持从RGB565转BGR和GRAY目前仅支持android arm平台CV_PIX_FMT_ABGR8888, /// ABGR 8:8:8:8 32bpp ( 4通道32bit ABGR 像素 )目前仅支持android arm平台CV_PIX_FMT_FLOAT2, /// 2通道CV_PIX_FMT_FLOAT, /// 1通道CV_PIX_FMT_YUYV, /// 目前仅支持到GRAY8和BGR888的转换CV_PIX_FMT_UYVY /// 目前仅支持到GRAY8和BGR888的转换 } cv_pixel_format;/// brief 时间戳定义 typedef struct cv_time_t {long int tv_sec; /// 秒long int tv_usec; /// 微秒 } cv_time_t;/// 图像格式定义 typedef struct cv_image_t {unsigned char *data; /// 图像数据指针cv_pixel_format pixel_format; /// 像素格式int width; /// 宽度(以像素为单位)int height; /// 高度(以像素为单位)int stride; /// 跨度, 即每行所占的字节数/// 目前仅支持内存连续的图像, 各图像格式具体大小应为:/// CV_PIX_FMT_GRAY8: stride width/// CV_PIX_FMT_YUV420P: stride width/// CV_PIX_FMT_NV12: stride width/// CV_PIX_FMT_NV21: stride width/// CV_PIX_FMT_BGRA8888: stride width * 4/// CV_PIX_FMT_BGR888: stride width * 3/// CV_PIX_FMT_RGBA8888: stride width * 4/// CV_PIX_FMT_RGB888: stride width * 3/// CV_PIX_FMT_GRAY16: stride width * 2/// CV_PIX_FMT_RGB565: stride width * 2/// CV_PIX_FMT_ABGR8888: stride width * 4/// CV_PIX_FMT_FLOAT2: stride width * 8/// CV_PIX_FMT_FLOAT: stride width * 4/// CV_PIX_FMT_YUYV: stride width * 2/// CV_PIX_FMT_UYVY: stride width * 2cv_time_t time_stamp; /// 时间戳 } cv_image_t;typedef int cv_errcode;#define CV_ERR_PACK(lib, module, reason) \((int)(0x80000000 | ((unsigned int)(lib)0x7ff) 20 | ((unsigned int)(module)0xf) 16 \| ((unsigned int)(reason)0xffff)))#define CV_ERR_GETLIB(error_code) ((unsigned int)(error_code) 20 0x7ff)#define CV_ERR_GETMODULE(error_code) ((unsigned int)(error_code) 16 0xf)#define CV_ERR_GETREASON(error_code) ((unsigned int)(error_code)0xffff)///global error definition #define CV_E_GLOBAL_LIB 0x7ff #define CV_E_GLOBAL_MODULE 0xf #define CV_E_ONLINE_ACTIVATE_MODULE 0xe #define CV_E_CONNECTION_MODULE 0xd#define CV_OK 0 /// 正常运行 #define CV_E_INVALIDARG CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffff) /// 无效参数 -1 #define CV_E_HANDLE CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfffe) /// 句柄错误 -2 #define CV_E_OUTOFMEMORY CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfffd) /// 内存不足 -3 #define CV_E_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfffc) /// 运行失败内部错误 -4 #define CV_E_DELNOTFOUND CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfffb) /// 定义缺失 -5 #define CV_E_INVALID_PIXEL_FORMAT CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfffa) /// 不支持的图像格式 -6 #define CV_E_FILE_NOT_FOUND CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff9) /// 文件不存在 -7 #define CV_E_INVALID_FILE_FORMAT \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff8) /// 模型格式不正确导致加载失败 -8 #define CV_E_UNSUPPORTED CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfc18) /// 不支持的函数调用方式 -1000#define CV_E_FILE_EXPIRE CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff7) /// 模型文件过期 -9 #define CV_E_READ_FILE_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff6) /// 读取模型文件失败 -10 #define CV_E_VERIFY_REG_FAIL \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff5) /// 在线verify注册失败 -11/// /// #define CV_E_INVALID_AUTH CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff3) /// license不合法 -13 #define CV_E_INVALID_APPID CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff2) /// 包名错误 -14 #define CV_E_AUTH_EXPIRE CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff1) /// SDK过期 -15 #define CV_E_UUID_MISMATCH CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xfff0) /// UUID不匹配 -16 #define CV_E_ONLINE_AUTH_CONNECT_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffef) /// 在线验证连接失败 -17 #define CV_E_ONLINE_AUTH_TIMEOUT CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffee) /// 在线验证超时 -18 #define CV_E_ONLINE_AUTH_INVALID CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffed) /// 在线验证失败 -19 #define CV_E_LICENSE_IS_NOT_ACTIVABLE \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffec) /// license不可离线激活 -20 #define CV_E_ACTIVE_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffeb) /// license离线激活失败 -21 #define CV_E_ACTIVE_CODE_INVALID CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffea) /// 离线激活码无效 -22 #define CV_E_PRODUCT_VERSION_MISMATCH \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe9) /// 产品代码版本不一致 -23 #define CV_E_PLATFORM_NOTSUPPORTED CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe8) /// 不支持的平台 -24 #define CV_E_UNZIP_FAILED CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe7) /// 模型解压缩失败 -25 #define CV_E_SUBMODULE_NON_EXIT CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe6) /// 子模型不存在 -26 #define CV_E_ONLINE_ACTIVATE_NO_NEED \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe5) /// license不可在线激活 -27 #define CV_E_ONLINE_ACTIVATE_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe4) /// 在线激活失败 -28 #define CV_E_ONLINE_ACTIVATE_CODE_INVALID \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe3) /// 在线激活码无效 -29 #define CV_E_ONLINE_ACTIVATE_CONNECT_FAIL \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe2) /// 在线激活连接失败 -30 #define CV_RET_UNRECOGNIZED \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe1) /// 图片不能识别(但是API调用正常) -31 #define CV_E_HW_AUTH_INIT_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffe0) /// 加密芯片验证初始化错误 -32 #define CV_E_HW_AUTH_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffdf) /// 加密芯片验证失败 -33 #define CV_E_VERIFY_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffde) /// 在线认证v2失败 -34 #define CV_E_VERIFY_EXPIRE CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffdd) /// 在线认证v2过期 -35 #define CV_E_NO_LICENSE CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffdc) /// 没有可用的证书 -36 #define CV_E_HW_REG_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffdb) /// 加密芯片验证注册失败 -37 #define CV_E_PRODUCT_VERSION_FAILED \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffda) /// 获取product_version的函数调用失败 -38 #define CV_E_SIGN_ACTIVATION_CODE_FAILED CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffd9) /// 生成激活码失败 -39 #define CV_E_SIGN_ACTIVATION_CODE_TOKEN_EXPIRE CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffd8) /// 激活码token过期 -40 #define CV_E_SIGN_ACTIVATION_CODE_EXPIRE CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_GLOBAL_MODULE, 0xffd7) /// 激活码/** Connection error module code*/ /** \brief SSL status: normal connection fail. */ #define CV_E_CONNECTION_FAIL CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_CONNECTION_MODULE, 0xffff)///protector errors #define CV_E_PROTECTOR_LIB 0x1 #define CV_E_LICENSE_LIB 0x7F // 127 #define CV_E_PROTECTOR_MODULE_ONLINEAUTH_MODULE 0x1 /// protector 在线验证返回错误码mask #define CV_E_LICENSE_SENTINEL_MODULE 0x0/***CV_E_ONLINE_ACTIVATE_MODULE 错误码-2145517567 在请求body中没有system_info或者system_info格式不对-2145517566 jwt token格式不对-2145517565 body里system_info中没有udid或为空-2145517564 jwt签名算法不是HS256-2145517563 jwt签名校验失败-2145517562 jwt token中udid与body里system_info中的udid不一致-2145517561 jwt token中kid为空或者与body中license不一致-2145517560 认证失败-2145517559 内部错误-2145517558 license未找到-2145517557 license激活次数已用完-2145517556 认证失败-2145517555 license _act字段不是online_activation-2145517554 license已失效-2145517553 找不到父证书-2145517552 license父证书过多最多为10层if (CV_ERR_GETLIB(code) CV_E_PROTECTOR_LIB)if (CV_ERR_GETMODULE(code) CV_E_ONLINE_ACTIVATE_MODULE)CV_ERR_GETREASON(code)对应获取getreason结果1 在请求body中没有system_info或者system_info格式不对2 jwt token格式不对3 body里system_info中没有udid或为空4 jwt签名算法不是HS2565 jwt签名校验失败6 jwt token中udid与body里system_info中的udid不一致7 jwt token中kid为空或者与body中license不一致8 认证失败9 内部错误10 license未找到11 license激活次数已用完12 认证失败13 license _act字段不是online_activation14 license已失效15 找不到父证书16 license父证书过多最多为10层 ***/#define CV_E_PROTECTOR_UDID \CV_ERR_PACK(CV_E_PROTECTOR_LIB, CV_E_PROTECTOR_MODULE_ONLINEAUTH_MODULE, 0xffff) /// 获取udid失败 #define CV_E_PROTECTOR_FORMAT_HEADER \CV_ERR_PACK(CV_E_PROTECTOR_LIB, CV_E_PROTECTOR_MODULE_ONLINEAUTH_MODULE, 0xfffe) /// 生成请求消息失败 #define CV_E_PROTECTOR_INVALID_URL \CV_ERR_PACK(CV_E_PROTECTOR_LIB, CV_E_PROTECTOR_MODULE_ONLINEAUTH_MODULE, 0xfffd) /// url错误#define CV_E_HEARTBEAT_CONNECT_FAIL CV_ERR_PACK(CV_E_PROTECTOR_LIB, CV_E_GLOBAL_MODULE, 0xffff) /// 连接心跳服务器失败 #define CV_E_HEARTBEAT_INVALID_RESPONSE \CV_ERR_PACK(CV_E_PROTECTOR_LIB, CV_E_GLOBAL_MODULE, 0xfffe) /// 心跳服务器响应消息格式错误/* 加密狗相关错误码说明 错误码LIB用CV_ERR_GETLIB获取CV_E_LICENSE_LIB 错误码MODULE用CV_ERR_GETMODULE获取CV_E_LICENSE_SENTINEL_MODULE 错误码REASON用CV_ERR_GETREASON获取0x8xxx的错误码定义在本文件中为加密狗模块通用错误码0x4xxx的错误码为激活服务器端响应返回的错误码其他错误码为加密狗硬件相关错误码 */ #define CV_E_SENTINEL_PARSE_XML CV_ERR_PACK(CV_E_LICENSE_LIB, CV_E_LICENSE_SENTINEL_MODULE, 0x8000) /// 解析xml失败 #define CV_E_SENTINEL_CONNECT_FAIL \CV_ERR_PACK(CV_E_LICENSE_LIB, CV_E_LICENSE_SENTINEL_MODULE, 0x8001) /// 链接激活服务器失败 #define CV_E_SENTINEL_V2C_MISSING \CV_ERR_PACK(CV_E_LICENSE_LIB, CV_E_LICENSE_SENTINEL_MODULE, 0x8002) /// 服务器响应中没有v2c文件 #define CV_E_SENTINEL_INVALID_RESPONSE \CV_ERR_PACK(CV_E_LICENSE_LIB, CV_E_LICENSE_SENTINEL_MODULE, 0x8003) /// 服务器响应格式错误 #define CV_E_SENTINEL_FINGERPRINT_MISMATCH \CV_ERR_PACK(CV_E_LICENSE_LIB, CV_E_LICENSE_SENTINEL_MODULE, 0x8004) /// 机器指纹不匹配/* URLTYPE_HTTP_SP类型错误码: 错误码LIB用CV_ERR_GETLIB获取CV_E_GLOBAL_LIB 错误码MODULE用CV_ERR_GETMODULE获取CV_E_ONLINE_ACTIVATE_MODULE 错误码REASON用CV_ERR_GETREASON获取0x8xxx的错误码定义在本文件中*/ #define CV_E_HTTP_SP_ENCRYPT_REQUEST_FAILED \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_ONLINE_ACTIVATE_MODULE, 0x8001); ///加密请求失败 #define CV_E_HTTP_SP_DECRYPT_RESPONSE_FAILED \CV_ERR_PACK(CV_E_GLOBAL_LIB, CV_E_ONLINE_ACTIVATE_MODULE, 0x8002); ///解密响应失败【关注我后续持续新增专题博文谢谢】 下一篇讲解
http://www.zqtcl.cn/news/4588/

相关文章:

  • 购买网站建站泰安网站建设优化案例报告
  • 视觉中国的图片可以拿来做网站做网站后期都用什么软件
  • 微信看视频打赏网站建设进一步加强舆情管控
  • 快速网站排名提升什么是ui界面
  • 做网站用小型机或服务器网页设计图片的代码
  • 仁怀网站建设网站建设实训总结及体会
  • 如何替换网站wordpress主题ux themes
  • 7免费网站建站坪地网站建设价位
  • 企业网站模板专业网wordpress 管理插件
  • 大数据精准营销案例优化手机访问网站速度
  • 备案网站首页地址iis7网站建设
  • 柳州市建设中心网站十大正规平台
  • 个人网站赚钱wordpress ueditor
  • 有一个网站是做釆购的是什么网免费做手机网站建设
  • 广东网站备案 时间赤峰做网站哪家好
  • 新手如何做英文网站赚美元一个app下载免费下载安装
  • 深圳宝安做网站公司企业网站seo诊断
  • 外贸网站如何做seo云推荐 wordpress
  • 万州区建设局官方网站阿里巴巴网官网首页
  • 合肥网站建设哪个公司做得比较好红色网站建设
  • 亦庄网站建设价格河北石家庄天气
  • .net美食网站开发源代码软件设计师报考条件
  • 网站建设任务书怎么直接做免费网站吗
  • 河北网站建设seo优化盐城市亭湖区城乡建设网站
  • 网站搭建图片做简单网站用什么软件有哪些
  • 山西中宇建设集团网站湘潭做网站 搜搜磐石网络
  • 网站加载进度条表白网站制作代码
  • 域名对网站的好处dw制作网页入门
  • 网站原型的交互怎么做如何做网站小编
  • 建设银行衡阳市分行网站网站虚拟主机过期