#ifndef _c_wrapper_c_structure_h_
|
#define _c_wrapper_c_structure_h_
|
|
#include <string.h>
|
|
typedef struct _cPOINT {
|
int x;
|
int y;
|
} cPOINT;
|
|
typedef struct _cRECT {
|
int left;
|
int top;
|
int right;
|
int bottom;
|
} cRECT;
|
|
typedef struct _cIMAGE{
|
unsigned char *data;
|
int width;
|
int height;
|
int channel;
|
} cIMAGE;
|
|
typedef struct _cFaceAngle {
|
int yaw;
|
int pitch;
|
int roll;
|
float confidence;
|
} cFaceAngle;
|
|
typedef struct _cThftResult {
|
int gender;//1-male,0-female
|
int age;//range[0-100]
|
int race; //[1-white,2-yellow,3-black]
|
int beauty_level;//range[0-100]
|
int smile_level;//range[0-100]
|
} cThftResult;
|
|
typedef struct _cFacePos {
|
cRECT rcFace;
|
cPOINT ptLeftEye;
|
cPOINT ptRightEye;
|
cPOINT ptMouth;
|
cPOINT ptNose;
|
cFaceAngle fAngle;
|
int nQuality;
|
|
unsigned char pFacialData[512];
|
} cFacePos;
|
|
typedef struct _cFaceInfo{
|
cRECT rcFace;
|
cPOINT ptLeftEye;
|
cPOINT ptRightEye;
|
cPOINT ptMouth;
|
cPOINT ptNose;
|
cFaceAngle fAngle;
|
int nQuality;
|
|
unsigned char pFacialData[8*1024];
|
long nFaceID;//face tracking id
|
} cFaceInfo;
|
|
typedef struct _cObjInfo
|
{
|
cRECT rcObj;
|
int typ;
|
float prob;
|
} cObjInfo;
|
|
typedef struct _cPlateIDCfg {
|
int nFastMemorySize; // 单位 K
|
int nMemorySize; // 单位 M
|
int nMinPlateWidth; // 检测的最小车牌宽度,以像素为单位
|
int nMaxPlateWidth; // 检测的最大车牌宽度,以像素为单位
|
int nMaxImageWidth; // 最大图像宽度
|
int nMaxImageHeight; // 最大图像高度
|
|
unsigned char bIsFieldImage; // 是否是场图像
|
unsigned char bMovingImage; // 识别运动or静止图像
|
unsigned char nOrderOpt; // 输出顺序选项 0-置信度 1-自上而下 2-自下而上
|
unsigned char bLeanCorrection; // 是否启用车牌旋转功能,默认开启
|
unsigned char nImproveSpeed; // 0: 识别率优先 1:识别速度优先
|
unsigned char bCarLogo; // 0: 不检测车标 1: 检测车标
|
unsigned char bLotDetect; // 0: 不检测车位 1: 检测车位
|
unsigned char bShadow; // 0: 针对无阴影的车牌 1:针对有阴影的车牌,默认开启
|
unsigned char bShieldRailing; // 0: 屏蔽栏杆干扰, 1:不屏蔽栏杆干扰
|
unsigned char bCarModel; // 0: 不识别车型, 1: 识别车型
|
unsigned char bLocateTh; // 车牌定位阈值
|
unsigned char bOCRTh; // 车牌识别阈值
|
|
unsigned char bIndividual; // 个性化车牌开启
|
unsigned char bTwoRowYellow; // 双层黄色车牌开启
|
unsigned char bArmPolice; // 单层武警车牌开启
|
unsigned char bArmPolice2; // 双层武警车牌开启
|
unsigned char bTwoRowArmy; // 双层军队车牌开启
|
unsigned char bTractor; // 农用车车牌开启
|
unsigned char bEmbassy; // 使馆车牌开启
|
unsigned char bChangNei; // 厂内车牌开启
|
unsigned char bMinHang; // 民航车牌开启
|
unsigned char bConsulate; // 领事馆车牌开启
|
unsigned char bNewEnergy; // 新能源车牌开启
|
unsigned char bOnlyTwoRowYellow;// 只识别双层黄牌开启
|
unsigned char bOnlyLocation; // 只定位车牌开启
|
}cPlateIDCfg;
|
|
typedef struct _cPlateIDResult {
|
char license[16]; // 车牌字符串
|
char color[8]; // 车牌颜色
|
|
int nColor; // 车牌颜色
|
int nType; // 车牌类型
|
int nConfidence; // 整牌可信度
|
int nBright; // 亮度评价
|
int nDirection; // 车牌运动方向,0 unknown, 1 left, 2 right, 3 up, 4 down
|
|
cRECT rcLocation; // 车牌坐标
|
const unsigned char *pbyBits; // 识别结果对应的图片的缓冲区
|
int nTime; // 识别耗时
|
unsigned char nCarBright; // 车的亮度
|
unsigned char nCarColor; // 车的颜色
|
unsigned char nCarLogo; // 车标类型
|
unsigned char nCarType; // 车辆类型
|
unsigned char *pbyPlateBin; // 车牌二值化结果(按bit存储)
|
unsigned short nBinPlateWidth; // 二值化结果中车牌宽度
|
unsigned short nBinPlateHeight; // 二值化结果中车牌高度
|
char reserved[70]; // 保留
|
cRECT rcLogoLocation; // 车标坐标
|
unsigned short nCarModel; // 车辆类型
|
unsigned short nCarModelConfidence; // 车型可信度
|
}cPlateIDResult;
|
|
typedef struct _cPlateIDCloudSDKCfg {
|
int iImageMode; //0:为帧模式 1:为场模式
|
int iRecMode; //识别模式,0:单张图片识别,1:视频检测+识别,2:视频多帧融合识别(注:1模式比2模式快,但识别率和捕获率比2低)
|
|
int iMinPlateWidth; //识别最小车牌宽度
|
int iMaxPlateWidth; //识别最大车牌宽度
|
|
int iImageWidth; //图片宽度
|
int iImageHeight; //图片高度
|
|
int iMinHorAngle;
|
int iMaxHorAngle; //水平矫正角度范围,支持最大角度为[-30°,30°]
|
int iMinVerAngle;
|
int iMaxVerAngle; //垂直矫正角度范围,支持最大角度为[-30°,30°]
|
|
//此些项针对车型识别有用,其余无用
|
float fExpLeftRightR; //车脸左右扩充(车牌的宽度)倍数 参考值为1.6
|
float fExpTopR; //车脸上部扩充(车牌的高度)倍数 参考值为6.0
|
float fExpBottomR; //车脸下部扩充(车牌的高度)倍数 参考值为1.5
|
}cPlateIDCloudSDKCfg;
|
|
typedef struct _cPlateIDCloudSDKResult {
|
char number[20]; //识别结果
|
cRECT PlateRect; //车牌位置
|
int x[4];
|
int y[4];
|
int iConfidence; //车牌置信度
|
int ePlateType; //车牌类型
|
int iMoveDir; //车辆运动方向 0:朝近运动,1:朝远运动,-1:未知
|
int eVColor1; //车身主颜色
|
int eVColor2; //车身次颜色
|
int eVehicleBright; //车辆深浅色
|
unsigned char *pResultBits; //视频识别模式中抓拍的图片,视频模式识别下有效,需要开辟
|
|
int iFramNo; //视频模式下帧号
|
int sTime[7]; //视频识别模式中抓拍此张图的时间
|
|
//针对车脸识别应用此项,其余无用
|
unsigned char *pVehicleFaceImage; //对应的车脸的图片,需要提前开辟内存,开辟个最大内存就可以,宽高可以都为1000
|
int iVehicleFaceWidth; //车脸宽度
|
int iVehicleFaceHeight; //车脸高度
|
int iGrayFaceFlag; //车脸是否为灰度图
|
|
cRECT charLocation[20]; //车牌字符的位置(基于大图)
|
int charConfidence[20]; //字符识别置信度
|
int iCharNum; //车牌字符数目
|
}cPlateIDCloudSDKResult;
|
|
#endif
|