2024-02-01 18:28:27 +08:00
|
|
|
|
/*
|
|
|
|
|
* 版权所有 2015 魔视智能科技(上海)有限公司
|
|
|
|
|
* Copyright (c) 2015,Motovis Intelligent Technologies (Shanghai) Co.,Ltd
|
|
|
|
|
* 魔视智能智能公司秘密
|
|
|
|
|
* Motovis Intelligent Confidential Proprietary
|
|
|
|
|
* 文件名称:MvObjectEventDetect.h
|
|
|
|
|
* 摘要:封装事件检测算法
|
|
|
|
|
* 版本:v1.0.0.0
|
|
|
|
|
* 作者:
|
|
|
|
|
* 完成日期:2019年12月3日
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef _OBJECT_EVENT_DETECT_H_
|
|
|
|
|
#define _OBJECT_EVENT_DETECT_H_
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
|
|
#define EVENT_WARN_NUM 26 //报警类型种类
|
|
|
|
|
#define EVENT_ADAS_WARN_NUM 7 //adas报警类型种类
|
|
|
|
|
#define EVENT_DSM_WARN_NUM 15 //dsm报警类型种类
|
|
|
|
|
|
|
|
|
|
//数据通道类型
|
|
|
|
|
typedef enum _DETECT_CHANNEL_TYPE_
|
|
|
|
|
{
|
|
|
|
|
ADAS_DETECT_CHANNEL = 1, //adas数据通道
|
|
|
|
|
RIGHT_BSD_FRONT_DETECT_CHANNEL = 2, //右侧bsd(非鱼眼)--右前 从前往后
|
|
|
|
|
DMS_DETECT_CHANNEL = 4, //dms数据通道
|
|
|
|
|
RIGHT_BSD_REAR_DETECT_CHANNEL = 8, //右侧bsd(非鱼眼)--右后 从后往前
|
|
|
|
|
LEFT_BSD_FRONT_DETECT_CHANNEL = 0x10, //左侧bsd(非鱼眼)--左前
|
|
|
|
|
LEFT_BSD_REAR_DETECT_CHANNEL = 0x20, //左侧bsd(非鱼眼)--左后
|
|
|
|
|
FRONT_BSD_DETECT_CHANNEL = 0x40, //前侧bsd(非鱼眼)
|
|
|
|
|
REAR_BSD_DETECT_CHANNEL = 0x80 //后侧bsd(非鱼眼)
|
|
|
|
|
}DetectChannelType;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//数据功能类型
|
|
|
|
|
typedef enum _DETECT_FUNCTION_TYPE_
|
|
|
|
|
{
|
|
|
|
|
ADAS_FUNCTION_TYPE = 1, //adas类型
|
|
|
|
|
BSD_FUNCTION_TYPE = 2, //bsd功能类型
|
|
|
|
|
DSM_FUNCTION_TYPE = 4, //dsm功能类型
|
|
|
|
|
SECOND_BSD_FUNCTION_TYPE = 8, //第2bsd功能类型(bsd2)
|
|
|
|
|
BELT_FUNCTION_TYPE = 0x10, //安全带功能类型(dsm2)
|
|
|
|
|
OVERBOARD_FUNCTION_TYPE = 0x20, //超员功能类型
|
|
|
|
|
IMAGEFUSION_FUNCTION_TYPE = 0x40, //360图像融合功能类型
|
|
|
|
|
CARGO_FUNCTION_TYPE = 0x80, //货箱功能类型
|
|
|
|
|
ALIVE_FUNCTION_TYPE = 0x100, //活体功能类型
|
|
|
|
|
FACE_COUNT_FUNCTION_TYPE = 0x200, //人头计数功能类型
|
|
|
|
|
THIRD_BSD_FUNCTION_TYPE = 0x400, //第3bsd功能类型(bsd3)
|
|
|
|
|
FOURTH_BSD_FUNCTION_TYPE = 0x800 //第4bsd功能类型(bsd4)
|
|
|
|
|
}DetectFunctionType;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//bsd安装类型
|
|
|
|
|
typedef enum _BSD_INSTALL_TYPE_
|
|
|
|
|
{
|
|
|
|
|
BSD_RIGHT = 0, //右
|
|
|
|
|
BSD_FRONT = 1, //前
|
|
|
|
|
BSD_LEFT = 2, //左
|
|
|
|
|
BSD_BACK = 3 //后
|
|
|
|
|
}BsdInstallType;
|
|
|
|
|
|
|
|
|
|
//bsd车身位置
|
|
|
|
|
typedef enum _BSD_CARPOS_TYPE_
|
|
|
|
|
{
|
|
|
|
|
BSD_CARPOS_LEFT = 0, //左
|
|
|
|
|
BSD_CARPOS_RIGHT = 1, //右
|
|
|
|
|
BSD_CARPOS_UP = 2, //上
|
|
|
|
|
BSD_CARPOS_DOWN = 3 //下
|
|
|
|
|
}BsdCarPosType;
|
|
|
|
|
|
|
|
|
|
//bsd相机类型
|
|
|
|
|
typedef enum _BSD_CAMERA_TYPE_
|
|
|
|
|
{
|
|
|
|
|
BSD_CAMERA_NOFISHEYE = 0, //非鱼眼
|
|
|
|
|
BSD_CAMERA_FISHEYE = 1 //鱼眼
|
|
|
|
|
}BsdCameraType;
|
|
|
|
|
|
|
|
|
|
//视频图像帧信息
|
|
|
|
|
typedef struct _VideoFrameDataInfo
|
|
|
|
|
{
|
|
|
|
|
int nFrameId; //帧号
|
|
|
|
|
int u32Width; //视频图像宽
|
|
|
|
|
int u32Height; //视频图像高
|
|
|
|
|
long long u64PTS; //时间戳(毫秒)
|
|
|
|
|
unsigned char* pu8VirAddr; //视频图像帧数据虚拟地址
|
|
|
|
|
}VideoFrameDataInfo;
|
|
|
|
|
|
|
|
|
|
//标定点坐标
|
|
|
|
|
typedef struct _CalibrationPoint
|
|
|
|
|
{
|
|
|
|
|
int x; //X坐标
|
|
|
|
|
int y; //Y坐标
|
|
|
|
|
}CalibrationPoint;
|
|
|
|
|
|
|
|
|
|
//标定点坐标
|
|
|
|
|
typedef struct _CalibrationFloatPoint
|
|
|
|
|
{
|
|
|
|
|
float x; //X坐标
|
|
|
|
|
float y; //Y坐标
|
|
|
|
|
}CalibrationFloatPoint;
|
|
|
|
|
|
|
|
|
|
//自标定矩形区域
|
|
|
|
|
typedef struct _CalibrationRectRegion
|
|
|
|
|
{
|
|
|
|
|
int x; //X坐标
|
|
|
|
|
int y; //Y坐标
|
|
|
|
|
int nWidth; //宽
|
|
|
|
|
int nHeight; //高
|
|
|
|
|
}CalibrationRectRegion;
|
|
|
|
|
|
|
|
|
|
//360标定错误返回信息
|
|
|
|
|
typedef struct _CalibrationErrorInfo
|
|
|
|
|
{
|
|
|
|
|
float fDeviation[4]; //每路相机的标定误差,顺序分别是0-前, 1-右, 2-后, 3-左
|
|
|
|
|
int nRet[4][2]; //每路相机每块标定布自标定返回值
|
|
|
|
|
}CalibrationErrorInfo;
|
|
|
|
|
|
|
|
|
|
//虚拟线坐标点
|
|
|
|
|
typedef struct _VirtualLinePoint
|
|
|
|
|
{
|
|
|
|
|
CalibrationPoint ptBegin; //起点坐标
|
|
|
|
|
CalibrationPoint ptEnd; //终点坐标
|
|
|
|
|
}VirtualLinePoint;
|
|
|
|
|
|
|
|
|
|
//目标类型
|
|
|
|
|
typedef enum _ObjectDetectType
|
|
|
|
|
{
|
|
|
|
|
NONE_TYPE = 0, //未知类型
|
|
|
|
|
PEDESTRIAN_TYPE = 1, //行人
|
|
|
|
|
CAR_TYPE = 2, //小型汽车
|
|
|
|
|
BUS_TYPE = 3, //大巴
|
|
|
|
|
TRUCK_TYPE = 4, //卡车
|
|
|
|
|
MIDBUS_TYPE = 5, //中巴
|
|
|
|
|
MOTO_TYPE = 6, //机动车
|
|
|
|
|
NOMOTO_TYPE = 7 //非机动车
|
|
|
|
|
}ObjectDetectType;
|
|
|
|
|
|
|
|
|
|
//报警事件类型
|
|
|
|
|
typedef enum _ObjectEventType
|
|
|
|
|
{
|
|
|
|
|
EVENT_NONE = 0, //无报警
|
|
|
|
|
EVENT_LDW_LEFT = 1, //向左车道偏离报警
|
|
|
|
|
EVENT_LDW_RIGHT = 2, //向右车道偏离报警
|
|
|
|
|
EVENT_FCW = 4, //前车碰撞报警
|
|
|
|
|
EVENT_PCW = 8, //行人碰撞报警
|
|
|
|
|
EVENT_HMW = 0x10, //车距监测报警
|
|
|
|
|
EVENT_CROSS_WALK = 0x20, //人行横道检测报警
|
|
|
|
|
EVENT_BLIND = 0x40, //右侧盲区报警
|
|
|
|
|
EVENT_SMOKE = 0x80, //抽烟
|
|
|
|
|
EVENT_CALL = 0x100, //打电话
|
|
|
|
|
EVENT_YAWN = 0x200, //打哈欠
|
|
|
|
|
EVENT_NO_ALIGNMENT = 0x400, //未对准(偏离座位)
|
|
|
|
|
EVENT_CAMERA_SHIELD = 0x800, //摄像头遮挡
|
|
|
|
|
EVENT_ABNORMAL_IDENTITY = 0x1000, //身份异常(不是原来的驾驶员)
|
|
|
|
|
EVENT_ABSENT_DRIVER = 0x2000, //异常驾驶(检测不到脸)
|
|
|
|
|
EVENT_EYES_MASKED = 0x4000, //阻断型墨镜
|
|
|
|
|
EVENT_MOUTH_MASKED = 0x8000, //嘴部遮挡
|
|
|
|
|
EVENT_EYE_CLOSING = 0x10000, //闭眼
|
|
|
|
|
EVENT_SWINGING_LEFT = 0x20000, //分神驾驶(东张)
|
|
|
|
|
EVENT_SWINGING_RIGHT = 0x40000, //分神驾驶(西望)
|
|
|
|
|
EVENT_HEAD_UP = 0x80000, //分神驾驶(仰望)
|
|
|
|
|
EVENT_HEAD_DOWN = 0x100000, //分神驾驶(低头)
|
|
|
|
|
EVENT_NORMAL_IDENTITY = 0x200000, //身份正常
|
|
|
|
|
EVENT_ABNORMAL_BELT = 0x400000, //未系安全带
|
|
|
|
|
EVENT_ABNORMAL_HAND = 0x800000, //手脱离方向盘
|
|
|
|
|
EVENT_ABNORMAL_PHONE = 0x1000000, //玩手机
|
|
|
|
|
EVENT_ABNORMAL_OVERBOARD = 0x2000000 //超员
|
|
|
|
|
}ObjectEventType;
|
|
|
|
|
//车道线类型
|
|
|
|
|
typedef enum _LaneType
|
|
|
|
|
{
|
|
|
|
|
OTHER_LINE = 0, //其他车道线类型
|
|
|
|
|
WHITE_SOLID_LINE = 1, //白实线
|
|
|
|
|
YELLOW_SOLID_LINE = 2, //黄实线
|
|
|
|
|
DOUBLE_YELLOW_LINE = 3, //双黄线
|
|
|
|
|
DOUBLE_WHITE_LINE = 4 //双白线
|
|
|
|
|
}LaneType;
|
|
|
|
|
|
|
|
|
|
//目标信息
|
|
|
|
|
typedef struct _ObjectPara
|
|
|
|
|
{
|
|
|
|
|
int nObjectId; //目标编号
|
|
|
|
|
ObjectDetectType nDetectType; //目标类型
|
|
|
|
|
int nLeft; //目标位置左
|
|
|
|
|
int nTop; //目标位置上
|
|
|
|
|
int nRight; //目标位置右
|
|
|
|
|
int nBottom; //目标位置下
|
|
|
|
|
float fDist; //每个目标的距离(单位m,最大值250,最小值0)
|
|
|
|
|
float fVelo; //相对运动目标的相对速度(单位m/s)
|
|
|
|
|
float fTTC; //ttc时间(单位s)
|
|
|
|
|
int nTargetPosX; //落脚点横坐标(bsd用)
|
|
|
|
|
int nTargetPosY; //落脚点纵坐标(bsd用)
|
|
|
|
|
}ObjectPara;
|
|
|
|
|
|
|
|
|
|
//目标跟踪报警结果
|
|
|
|
|
typedef struct _ObjectTrackEventResult
|
|
|
|
|
{
|
|
|
|
|
int nFrameId; //图像帧号
|
|
|
|
|
long long lTimeStamp; //时间戳(毫秒)
|
|
|
|
|
int nObjectNumber; //目标数目
|
|
|
|
|
ObjectPara objInfo[255]; //目标信息
|
|
|
|
|
ObjectEventType nEventType; //报警事件类型
|
|
|
|
|
int nMainObjectId; //主目标编号
|
|
|
|
|
int nWarnFrameId[10]; //报警图像帧号
|
|
|
|
|
int nWarnFrameIdCount; //实际报警图像帧号数目
|
|
|
|
|
int nDangerLevel; //报警等级,1表示最高危险报警,2表示次高危险报警,3表示第三高危险报警
|
|
|
|
|
CalibrationPoint tFirstAlarmPoint[4]; //一级告警区域(bsd用)
|
|
|
|
|
CalibrationPoint tSecondAlarmPoint[4]; //二级预警区域(bsd用)
|
|
|
|
|
CalibrationPoint tThirdAlarmPoint[4]; //三级预警区域(bsd用)
|
|
|
|
|
int nFaceLandMarksNum; //人脸关键点
|
|
|
|
|
CalibrationPoint tFaceLandMarks[68]; //人脸关键点
|
|
|
|
|
LaneType nLeftLineType; //左车道线类型
|
|
|
|
|
LaneType nRightLineType; //右车道线类型
|
|
|
|
|
}ObjectTrackEventResult;
|
|
|
|
|
|
|
|
|
|
//车身信息
|
|
|
|
|
typedef struct _CarInfoInput
|
|
|
|
|
{
|
|
|
|
|
float fVelocity; //车速,单位: km/h
|
|
|
|
|
float fAcceleration; //车辆加速度 >0表示加速度,单位:m/s2
|
|
|
|
|
float fDeceleration; //车辆减速度 0表示速度为0或正在加速度 其他值表示减速度值,单位:m/s2
|
|
|
|
|
int nBrake; //刹车,1,刹车 0,未刹车
|
|
|
|
|
int nLLight; //左转向灯,1、点亮 0、不亮
|
|
|
|
|
int nRLight; //右转向灯,1、点亮 0、不亮
|
|
|
|
|
float fAlpha; //转向角,单位:度
|
|
|
|
|
float fSteeingWheelAngle; //方向盘转角,单位:度
|
|
|
|
|
}CarInfoInput;
|
|
|
|
|
|
|
|
|
|
//事件检测配置信息
|
|
|
|
|
typedef struct _ObjectEventDetectConfig
|
|
|
|
|
{
|
|
|
|
|
char szAdasDetectConfigPathName[256]; //adas检测配置
|
|
|
|
|
char szAdasTrackConfigPathName[256]; //adas跟踪配置
|
|
|
|
|
char szBsdDetectConfigPathName[256]; //右视非鱼眼bsd检测配置(从后往前)
|
|
|
|
|
char szRightBsdFrontDetectConfigPathName[256]; //右视非鱼眼bsd检测配置(从前往后)
|
|
|
|
|
char szFrontBsdDetectConfigPathName[256]; //前视bsd检测配置
|
|
|
|
|
char szRearBsdDetectConfigPathName[256]; //后视bsd检测配置
|
|
|
|
|
char szRightFisheyeBsdDetectConfigPathName[256]; //右视鱼眼bsd检测配置
|
|
|
|
|
char szBeltDetectConfigPathName[256]; //安全带检测配置
|
|
|
|
|
char szOverBoardDetectConfigPathName[256]; //超员检测配置
|
|
|
|
|
char szDsmFaceDetectConfigPathName[256]; //dsm人脸检测配置
|
|
|
|
|
char szDsmFaceLandMarksDetectConfigPathName[256]; //dsm人脸特征点检测配置
|
|
|
|
|
char szDsmFaceVerificationDetectConfigPathName[256]; //dsm人脸认证检测配置
|
|
|
|
|
char szDsmFaceFeaturePathName[256]; //dsm人脸特征存储路径配置
|
|
|
|
|
char szDsmHeadPoseConfPathName[256]; //dsm头部位姿配置
|
|
|
|
|
char szDsmEyeLandMarksDetectConfigPathName[256]; //dsm人眼特征点检测配置
|
|
|
|
|
char szDsmMaskDetectConfigPathName[256]; //口罩墨镜检测配置
|
|
|
|
|
char szDsmSmokeConfPathName[256]; //抽烟检测配置
|
|
|
|
|
char szDsmCallConfPathName[256]; //电话检测配置
|
|
|
|
|
char szDsmAliveDetectConfigPathName[256]; //活体检测配置
|
|
|
|
|
|
|
|
|
|
char szTsrDetectConfigPathName[256]; //tsr检测配置
|
|
|
|
|
char szLutTablePathName[256]; //360图像融合标定配置
|
|
|
|
|
char szCarPathName[256]; //车辆图像配置
|
|
|
|
|
|
|
|
|
|
char szCameraIntrinsicPathName[256]; //360相机内参配置
|
|
|
|
|
}ObjectEventDetectConfig;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//相机内外参
|
|
|
|
|
typedef struct _CameraCalibration
|
|
|
|
|
{
|
|
|
|
|
int fCarLen; //车长,单位mm
|
|
|
|
|
int fCarWidth; //车宽(两个轮胎外侧之间的距离),单位mm
|
|
|
|
|
int fRefCenter; //相机与车辆中心之间的距离(从驾驶室往外看,左正右负),单位mm
|
|
|
|
|
int fRefTop; //相机到前保险杠距离,单位mm
|
|
|
|
|
int fDisLen2Tyre; //镜头和前轮胎之间的距离,单位mm,镜头前方为正向
|
|
|
|
|
int fCameraHeight; //相机距离地面高度,单位mm
|
|
|
|
|
float fCameraFocus; //相机焦距,单位mm
|
|
|
|
|
float fCameraDx; //sensor尺寸(像平面离散化系数,CMOS unit cell size, 单位mm)
|
|
|
|
|
float fPitch; //俯仰角,默认为0
|
|
|
|
|
float fYaw; //偏航角,默认为0
|
|
|
|
|
}CameraCalibration;
|
|
|
|
|
|
|
|
|
|
//bsd报警区域
|
|
|
|
|
typedef struct _BsdWarnRegion
|
|
|
|
|
{
|
|
|
|
|
CalibrationPoint tFirstRegionPoint[4]; //一级报警区域(4个点组成的任意四边形)
|
|
|
|
|
CalibrationPoint tSecondRegionPoint[4]; //二级报警区域(4个点组成的任意四边形)
|
|
|
|
|
CalibrationPoint tThirdRegionPoint[4]; //三级报警区域(4个点组成的任意四边形)
|
|
|
|
|
}BsdWarnRegion;
|
|
|
|
|
|
|
|
|
|
//bsd报警距离
|
|
|
|
|
typedef struct _BsdWarnDistance
|
|
|
|
|
{
|
|
|
|
|
float fFirstWarnDistance; //一级报警距离(单位:mm)
|
|
|
|
|
float fSecondWarnDistance; //二级报警距离(单位:mm)
|
|
|
|
|
float fThirdWarnDistance; //三级报警距离(单位:mm)
|
|
|
|
|
float fFrontWarnDistance; //前方报警距离(单位:mm)
|
|
|
|
|
float fLeftWarnDistance; //左报警距离(单位:mm)
|
|
|
|
|
float fRightWarnDistance; //右报警距离(单位:mm)
|
|
|
|
|
}BsdWarnDistance;
|
|
|
|
|
|
|
|
|
|
//事件报警参数配置
|
|
|
|
|
typedef struct _EventWarnParamConfig
|
|
|
|
|
{
|
|
|
|
|
bool bStartEventWarnKind[EVENT_WARN_NUM]; //是否启动此类报警,一共21种报警类型,0表示EVENT_LDW_LEFT,20表示EVENT_HEAD_DOWN,顺序与ObjectEventType宏定义一致
|
|
|
|
|
int nAbnormalWarnFrameCount[EVENT_WARN_NUM]; //累积多长时间开始报警,用帧数来表示(主要针对dsm)
|
|
|
|
|
int nNormalFrameCount[EVENT_WARN_NUM]; //累积多长时间恢复正常,用帧数来表示(主要针对dsm)
|
|
|
|
|
int nAbnormalWarnIntervalFrameCount[EVENT_WARN_NUM]; //间隔多长时间进行下一次报警,用帧数来表示(主要针对dsm)
|
|
|
|
|
float fAbnormalWarnScoreThreshold[EVENT_WARN_NUM]; //每种异常报警阈值,0-1之间,0表示更容易触发报警,1表示更难触发报警(主要针对dsm)
|
|
|
|
|
float fNormalWarnScoreThreshold[EVENT_WARN_NUM]; //每种报警恢复正常阈值,0-1之间,0表示更容易恢复正常,1表示更难恢复正常(主要针对dsm)
|
|
|
|
|
int nHmwTime; //HMW开启阈值,单位ms
|
|
|
|
|
int nPcwTime; //PCW开启阈值,单位ms
|
|
|
|
|
int nFcwTime; //FCW报警开启阈值,单位ms
|
|
|
|
|
float fHmwVel; //HMW报警车速阈值,单位km/h
|
|
|
|
|
float fFcwVel; //FCW报警车速阈值,单位km/h
|
|
|
|
|
float fLdwVel; //LDW报警车速阈值,单位km/h
|
|
|
|
|
float fPcwVel; //PCW报警车速阈值,单位km/h
|
|
|
|
|
float fBsdFirstVel; //BSD一级报警车速阈值,单位km/h
|
|
|
|
|
float fBsdSecondVel; //BSD二级报警车速阈值,单位km/h
|
|
|
|
|
float fBsdThirdVel; //BSD三级报警车速阈值,单位km/h
|
|
|
|
|
int nLdwDistance; //左右车道线距离报警阈值,单位cm(范围:-20cm~20cm,越过车道线为负)
|
|
|
|
|
float fDsmVel; //DSM报警车速阈值,单位km/h
|
|
|
|
|
}EventWarnParamConfig;
|
|
|
|
|
|
|
|
|
|
//车道线的点阵列(最多四条车道线)
|
|
|
|
|
typedef struct _DARW_POINT_INFO
|
|
|
|
|
{
|
|
|
|
|
unsigned int pSrcPointX[4][600]; //每条车道线的点x坐标
|
|
|
|
|
unsigned int pSrcPointY[4][600]; //每条车道线的点y坐标
|
|
|
|
|
unsigned int nPointCounters[4]; //每条车道线的点数
|
|
|
|
|
int nLaneID[4]; //车道线编号(-1表示不存在此车道线,0,1,2,3表示从左往右的四条车道线)
|
|
|
|
|
}DrawPointInfo;
|
|
|
|
|
|
|
|
|
|
//人脸特征信息
|
|
|
|
|
typedef struct _FACE_FEATURE_INFO
|
|
|
|
|
{
|
|
|
|
|
float fFaceFeature[512]; //人脸特征
|
|
|
|
|
int nFaceNum; //人脸数目
|
|
|
|
|
int nLeft; //人脸位置左
|
|
|
|
|
int nTop; //人脸位置上
|
|
|
|
|
int nRight; //人脸位置右
|
|
|
|
|
int nBottom; //人脸位置下
|
|
|
|
|
int nErrorCode; //错误类型,0-成功,1-提取特征失败,2-无人脸,3-人脸太偏
|
|
|
|
|
}FaceFeatureInfo;
|
|
|
|
|
|
|
|
|
|
//bsd路沿点阵列
|
|
|
|
|
typedef struct _CURB_POINT_INFO
|
|
|
|
|
{
|
|
|
|
|
unsigned int pSrcPointX[600];
|
|
|
|
|
unsigned int pSrcPointY[600];
|
|
|
|
|
unsigned int nPointCounters;
|
|
|
|
|
}CurbPointInfo;
|
|
|
|
|
|
|
|
|
|
//360相机外参
|
|
|
|
|
typedef struct _FisheyeCameraCalibration
|
|
|
|
|
{
|
|
|
|
|
///////////////////////////以下是相机外参,棋盘格必须保证相对车辆左右对称,上下平齐
|
|
|
|
|
float fCarLen; //车长,单位mm
|
|
|
|
|
float fCarWidth; //车宽(两个轮胎外侧之间的距离),单位mm
|
|
|
|
|
float fFrontDistance; //车头到棋盘格的纵向距离,单位mm, 默认1000mm
|
|
|
|
|
float fRearDistance; //车尾到棋盘格的纵向距离,单位mm, 默认1000mm
|
|
|
|
|
float fLeftDistance; //车左侧到棋盘格的横向距离,单位mm, 默认(2000-fCarWidth/2)mm
|
|
|
|
|
float fRightDistance; //车右侧到棋盘格的横向距离,单位mm, 默认(2000-fCarWidth/2)mm
|
|
|
|
|
float fVisionField; //视野范围,单位mm,大车默认20000mm, 模型车8000mm
|
|
|
|
|
float fBigChessBoardWidth; //大棋盘格宽度,单位mm, 默认800mm(如果是缩小版的棋盘格80mm)
|
|
|
|
|
float fSmallChessBoardWidth; //小棋盘格高度,单位mm, 默认400mm(如果是缩小版的棋盘格40mm)
|
|
|
|
|
float fFusionAngle; //融合角度,默认60度
|
|
|
|
|
}FisheyeCameraCalibration;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取算法库版本号
|
|
|
|
|
* 输入参数:pAlglibVersion-算法库版本号
|
|
|
|
|
* 输出参数:pAlglibVersion-算法库版本号
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetAlglibVersion(char* pAlglibVersion);
|
|
|
|
|
|
|
|
|
|
//算法结果回调函数
|
|
|
|
|
typedef void (*AlgResultProcessFunc)(int nDataChannel, ObjectTrackEventResult* pObjectTrackEventResult, void *pPrivData);
|
|
|
|
|
|
|
|
|
|
//车道线结果回调函数
|
|
|
|
|
typedef void (*AlgLaneLineProcessFunc)(DrawPointInfo* pPointInfo, void *pPrivData);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:目标跟踪事件检测初始化
|
|
|
|
|
* 输入参数:pObjectEventDetectConf-事件检测配置信息,nStartDetectChannel-启动检测通道类型nStartDetectChannel=ADAS_DETECT_CHANNEL|BSD_DETECT_CHANNEL|DMS_DETECT_CHANNEL
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvObjectEventDetectInit(ObjectEventDetectConfig *pObjectEventDetectConf, int nStartDetectChannel);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置算法结果回调函数
|
|
|
|
|
* 输入参数:nDataChannel-通道类型,0-adas,1-bsd(从后往前),2-dsm,3-bsd(从前往后),4-belt pFunc--算法结果回调函数, pPrivData-私有信息
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetAlgResultFuncCallback(int nDataChannel,AlgResultProcessFunc pFunc, void *pPrivData);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置算法车道线回调函数
|
|
|
|
|
* 输入参数:pFunc--算法车道线回调函数, pPrivData-私有信息
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetAlgLaneLineFuncCallback(AlgLaneLineProcessFunc pFunc, void *pPrivData);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 函数功能:目标跟踪事件检测(每帧循环调用,结果在回调函数中返回)
|
|
|
|
|
* 输入参数:nDataChannel-通道类型,0-adas,1-bsd(从后往前),2-dsm,3-bsd(从前往后),4-belt pImageDataInfo--图像数据(adas,bsd:1280*720,dsm:1280*720), pCarInfo-车身信息
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvObjectEventDetect(int nDataChannel, VideoFrameDataInfo* pImageDataInfo, CarInfoInput* pCarInfo);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:目标跟踪事件检测释放
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvObjectEventDetectUnInit();
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:相机标定(固定灭点)
|
|
|
|
|
* 输入参数:pCameraCalibration-相机内外参
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvCameraCalibration(CameraCalibration* pCameraCalibration);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:自学习相机标定
|
|
|
|
|
* 输入参数:pCameraCalibration-相机内外参
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvAutoCameraCalibration(CameraCalibration* pCameraCalibration);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:手动相机标定(手动4点标定,只有adas通道会用到)
|
|
|
|
|
* 输入参数:pCameraCalibration-相机外参,pCalibrationPoint-标定手动绘制的4个坐标点
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvManualCameraCalibration(CameraCalibration* pCameraCalibration, CalibrationPoint* pCalibrationPoint);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取相机标定信息
|
|
|
|
|
* 输入参数:pCameraCalibration-相机内外参
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetCameraCalibrationInfo(CameraCalibration* pCameraCalibration);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取是否自标定完成
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-否,1-是
|
|
|
|
|
*/
|
|
|
|
|
int MvGetSelfCalibrationStatus();
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取灭点
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:pCalibrationPoint-灭点(基于1280x720图像坐标)
|
|
|
|
|
* 返回值:无
|
|
|
|
|
*/
|
|
|
|
|
void MvGetVanishPoint(CalibrationPoint* pCalibrationPoint);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置灭点
|
|
|
|
|
* 输入参数:pCalibrationPoint-灭点(基于1280x720图像坐标)
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetVanishPoint(CalibrationPoint* pCalibrationPoint);
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置bsd报警区域
|
|
|
|
|
* 输入参数:nDataChannel-通道类型,1-bsd(从后往前),3-bsd(从前往后),pBsdWarnRegion-bsd报警区域
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetBsdWarnRegion(int nDataChannel, BsdWarnRegion* pBsdWarnRegion);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:bsd相机标定
|
|
|
|
|
* 输入参数:nDataChannel-通道类型,1-bsd(从后往前),3-bsd(从前往后),pCameraCalibration-相机内外参,pVanishPoint-灭点,pBsdWarnDistance-bsd报警距离
|
|
|
|
|
* 输出参数:pBsdWarnRegion-bsd报警区域
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvBsdCalibration(int nDataChannel, CameraCalibration* pCameraCalibration, CalibrationPoint* pVanishPoint, BsdWarnDistance* pBsdWarnDistance, BsdWarnRegion* pBsdWarnRegion);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取bsd灭点位置
|
|
|
|
|
* 输入参数:pBsdVanishPt-bsd灭点位置
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetBsdVanishPoint(int nDataChannel, CalibrationPoint* pBsdVanishPt) ;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置超员报警区域
|
|
|
|
|
* 输入参数:tRegionPoint-超员报警区域
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetOverBoardWarnRegion(CalibrationPoint tRegionPoint[4]);
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置dsm检测区域起始位置
|
|
|
|
|
* 输入参数:pCropPoint-dsm检测区域起始位置
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetDsmCropPosition(CalibrationPoint* pCropPoint);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取dsm检测区域位置
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:pPointLeftTop-dsm检测区域左上位置,pPointRightBottom-dsm检测区域右下位置
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetDsmCropRegion(CalibrationPoint* pPointLeftTop, CalibrationPoint* pPointRightBottom);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取jpg人脸特征
|
|
|
|
|
* 输入参数:pJpgImageData-jpg图像地址,nJpgImageDataLen-jpg图像大小
|
|
|
|
|
* 输出参数:pFaceFeatureInfo-jpg人脸特征信息
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetJpgFaceFeature(unsigned char* pJpgImageData, int nJpgImageDataLen, FaceFeatureInfo* pFaceFeatureInfo);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取录入人脸特征
|
|
|
|
|
* 输入参数:pImageDataInfo-实时图像数据
|
|
|
|
|
* 输出参数:pFaceFeatureInfo-人脸特征信息
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetFaceFeature(VideoFrameDataInfo* pImageDataInfo, FaceFeatureInfo* pFaceFeatureInfo);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能: 获取人脸认证结果
|
|
|
|
|
* 输入参数: pFaceFeatureInfo1-实时人脸特征,nFeatureNum1-实时人脸特征数目,pFaceFeatureInfo2-录入的人脸特征,nFeatureNum2-录入的人脸特征数目
|
|
|
|
|
* 输出参数: 无
|
|
|
|
|
* 返回值: 0-认证成功(同一个人),-1-认证失败 (不是同一个人)
|
|
|
|
|
*/
|
|
|
|
|
int MvGetFaceVerifyResult(FaceFeatureInfo* pFaceFeatureInfo1, int nFeatureNum1, FaceFeatureInfo* pFaceFeatureInfo2, int nFeatureNum2);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能: 获取DSM标定信息
|
|
|
|
|
* 输入参数: 无
|
|
|
|
|
* 输出参数: pYaw-偏转角(左正右负),pPitch-俯仰角(上正下负)
|
|
|
|
|
* 返回值: 0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetDsmCalibration(float* pYaw, float* pPitch);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能: 设置DSM标定信息
|
|
|
|
|
* 输入参数: 无
|
|
|
|
|
* 输出参数: fYaw-偏转角(左正右负),fPitch-俯仰角(上正下负)
|
|
|
|
|
* 返回值: 0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetDsmCalibration(float fYaw, float fPitch);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能: DSM标定
|
|
|
|
|
* 输入参数: 无
|
|
|
|
|
* 输出参数: pPointLeftTop-dsm检测区域左上位置,fYaw-偏转角(左正右负),fPitch-俯仰角(上正下负)
|
|
|
|
|
* 返回值: 0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvDsmCalibration(CalibrationPoint* pPointLeftTop, float* pYaw, float* pPitch);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置事件报警参数配置(必须在初始化函数后调用)
|
|
|
|
|
* 输入参数:pEventWarnParamConfig-事件报警参数配置
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetEventWarnParamConfig(EventWarnParamConfig *pEventWarnParamConfig);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取事件报警参数配置(必须在初始化函数后调用)
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:pEventWarnParamConfig-事件报警参数配置
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetEventWarnParamConfig(EventWarnParamConfig *pEventWarnParamConfig);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置打印接口
|
|
|
|
|
* 输入参数:bPrintf-是否打印
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetPrintf(bool bPrintf);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置签名接口(在初始化函数之前调用)
|
|
|
|
|
* 输入参数:szSignPath-签名写入路径
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetSignPath(char szSignPath[256]);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置授权服务器地址(在初始化函数之前调用)
|
|
|
|
|
* 输入参数:szAuthHost-授权服务器地址
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetAuthHost(char szAuthHost[256]);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取授权认证状态
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetAuthStatus();
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能: 获取芯片ID
|
|
|
|
|
* 输入参数: pChipId-芯片ID,32个字节长度
|
|
|
|
|
* 输出参数: 无
|
|
|
|
|
* 返回值: 0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetAuthChipId(unsigned char* pChipId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取车距线坐标
|
|
|
|
|
* 输入参数:fDistance-车距线距离(单位:mm,建议10米),fLaneWidth-车道宽度(单位:mm,建议3米)
|
|
|
|
|
* 输出参数:pLinePoint-车距线两个端点图像坐标
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetDistanceLine(float fDistance, float fLaneWidth, VirtualLinePoint* pLinePoint);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取虚拟车道线坐标
|
|
|
|
|
* 输入参数:fNearDistance-近端线距离(单位:mm,建议10米),fFarDistance-远端线距离(单位:mm,建议30米),fLaneWidth-车道宽度(单位:mm,建议3米)
|
|
|
|
|
* 输出参数:pLeftLinePoint-左侧虚拟车道线两个端点图像坐标,pRightLinePoint-右侧虚拟车道线两个端点图像坐标
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvGetVirtualLaneLine(float fNearDistance, float fFarDistance, float fLaneWidth, VirtualLinePoint* pLeftLinePoint, VirtualLinePoint* pRightLinePoint);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取最小车距
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:fDistance-最小车距(单位:mm)
|
|
|
|
|
*/
|
|
|
|
|
float MvGetNearDistance();
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置fcw报警灵敏
|
|
|
|
|
* 输入参数:nFcwSensitivity-灵敏度等级,0-最低灵敏度,1-中灵敏度,2-高灵敏度
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetFcwWarnSensitivity(int nFcwSensitivity);
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:获取授权功能类型
|
|
|
|
|
* 输入参数:无
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:授权功能类型
|
|
|
|
|
*/
|
|
|
|
|
int MvGetAuthFunctionType();
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能: 设置imei ID
|
|
|
|
|
* 输入参数: chImeiId-芯片ID,16个字节,十六进制表示
|
|
|
|
|
* 输出参数: 无
|
|
|
|
|
* 返回值: 0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetImeiId(unsigned char chImeiId[16]);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置dsm标定模式
|
|
|
|
|
* 输入参数:nMode-0-表示自动模式,1-表示手动模式, fVelocityThreshold-自标定速度阈值,fTimeThreshold-自标定时间阈值,fAngleThreshold-自标定角度阈值
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetDsmCalibrationMode(int nMode, float fVelocityThreshold, float fTimeThreshold, float fAngleThreshold);
|
|
|
|
|
|
|
|
|
|
/* 函数功能:360图像融合
|
|
|
|
|
* 输入参数:pInImageDataInfo--4路输入图像数据(1280*720),顺序分别是0-前, 1-右, 2-后, 3-左, 需要保证4路相机同步,pCarInfo-车身信息
|
|
|
|
|
* 输出参数:pOutImageDataInfo-融合图像数据(640x640),需要在外部分配内存空间
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvImageFusion(VideoFrameDataInfo* pInImageDataInfo[4], VideoFrameDataInfo* pOutImageDataInfo, CarInfoInput* pCarInfo);
|
|
|
|
|
|
|
|
|
|
/* 函数功能:360图像融合标定
|
|
|
|
|
* 输入参数:pCalibrationConfigPathName-标定文件路径名称,pInImageDataInfo--4路带有棋盘格的输入图像数据(1280*720),顺序分别是0-前, 1-右, 2-后, 3-左,pCameraCalibration-相机内外参,pImagePoints[4][8]-手动标定点,nMode-0手动标定,1自动标定,pCalibrationRectRegion-自动标定矩形区域
|
|
|
|
|
* 输出参数:pDeviation-标定误差,一般>10表示误差很大,说明参数有问题,需要重新标定, pErrorInfo-360自动标定错误返回信息,pOutImageDataInfo-自动标定返回图像
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvImageFusionCalibration(char* pCalibrationConfigPathName, VideoFrameDataInfo* pInImageDataInfo[4], FisheyeCameraCalibration* pCameraCalibration, CalibrationFloatPoint* pImagePoints, int nMode,float* pDeviation, CalibrationRectRegion* pCalibrationRectRegion, CalibrationErrorInfo* pErrorInfo, VideoFrameDataInfo* pOutImageDataInfo);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:启动授权
|
|
|
|
|
* 输入参数:nStartDetectChannel-启动检测功能类型nStartDetectChannel=ADAS_FUNCTION_TYPE|BSD_FUNCTION_TYPE|DSM_FUNCTION_TYPE|SECOND_BSD_FUNCTION_TYPE,nMode-是否修改授权,0-不修改,1-修改
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvReAuthorization(int nStartDetectChannel);
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:启动停止连接授权服务器
|
|
|
|
|
* 输入参数:bConnectAuthServer-1-启动连接, 0-停止连接
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvConnectAuthServer(bool bConnectAuthServer);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置是否tsr检测
|
|
|
|
|
* 输入参数:bSetTsrDetect-是否tsr检测
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetTsrDetect(bool bSetTsrDetect);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 函数功能:设置检测通道(最大同时支持4个通道)
|
|
|
|
|
* 输入参数:nDetectChannel-检测通道类型nDetectChannel=RIGHT_BSD_FRONT_DETECT_CHANNEL|RIGHT_BSD_REAR_DETECT_CHANNEL|LEFT_BSD_FRONT_DETECT_CHANNEL|LEFT_BSD_REAR_DETECT_CHANNEL
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
* 返回值:0-成功,-1-失败
|
|
|
|
|
*/
|
|
|
|
|
int MvSetDetectChannel(int nDetectChannel);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
2024-01-30 18:59:29 +08:00
|
|
|
|
#endif // _OBJECT_EVENT_DETECT_H_
|