vehicle_result.h 9.1 KB
#include <stddef.h>
//---------------- ������������ṹ�嶨�� ------------------//

//�м�����Ϣ
#ifndef VPT_INFO_MIDD_TEMP_
#define VPT_INFO_MIDD_TEMP_
typedef struct vpt_info_midd_temp
{
	int obj_id;					
	sy_rect obj_rect;					
	int obj_index;
	float obj_score;
	int dis;          //20220308�����Ŀ���ļ�Ȩ����
}vpt_info_midd_temp;
#endif







//1.�������
#define MAXCARCOUNT 100	            //֧�����100�������

#ifndef VD_RESULT_
#define VD_RESULT_
typedef struct vd_result
{
	sy_rect rect;
	float score;
}vd_result;
#endif


//2.����ɫ���
#ifndef VC_RESULT_
#define VC_RESULT_
typedef struct vc_result
{
	float score;
	int index;//����ɫ����0-12����Ӧ"��", "��", "��", "��", "��", "��", "��", "��", "��",  "��", "��", "��", "��"
}vc_result;
#endif


//3.����ʶ����
#ifndef VR_RESULT_
#define VR_RESULT_
typedef struct vr_result                //���
{
	char vehicle_brand[260];                //����Ʒ��
	char vehicle_subbrand[260];             //������Ʒ��
	char vehicle_issue_year[260];           //�������
	char vehicle_type[260];                 //��������
	char freight_ton[260];                  //�����ּ�
	float name_score;                       //ʶ�����Ŷ�
	int index;
}vr_result;
#endif




//4.���Ƽ��ʶ����
#define PLATENUM 8	                    //���ƺ���λ��
#define MAXPLATECOUNT 20	            //֧�����20�����Ƽ��
//��������
#define SINGLETYPE_BLUE 0		        //������ɫ
#define SINGLETYPE_YELLOW 1		        //���Ż�ɫ
#define SINGLETYPE_WHITE 2		        //���Ű�ɫ
#define SINGLETYPE_BLACK 3		        //���ź�ɫ
#define DOUBLETYPE_YELLOW 4		        //˫�Ż�ɫ
#define DOUBLETYPE_WHITE 5		        //˫�Ű�ɫ
#define NEWENERGYTYPE_YELLOWGREEN 6		//����Դ����ɫ
#define NEWENERGYTYPE_WHITEGRA 7		//����Դ����ɫ

//���ƺ���
#ifndef VPLATENUM_RESULT_
#define VPLATENUM_RESULT_
typedef struct vplate_num
{
	char character[4];	
	float maxprob;		
	int index;
}vplate_num;
#endif

//�����ڵ�ʶ��
//#define COVER 0					    //ȫ���ڵ�
//#define NO_COVER 1					//�޳���
//#define NORMAL 2					//��������
//#define PARTIAL 3					//�����ڵ�

#ifndef SVP_RESULT_
#define SVP_RESULT_
	typedef struct stain_vplate_result	
	{
		float score;						//ʶ�����Ŷ�
		int type;							//COVER ���� NO_COVER ���� NORMAL ���� PARTIAL
	}stain_vplate_result;
#endif

#ifndef VPLATE_RESULTS_
#define VPLATE_RESULTS_
typedef struct vplate_results
{
	sy_rect rect;//���Ƽ������
	float detect_score;//���Ƽ�����Ŷ�
	vplate_num recg[PLATENUM];//ʶ�������
	float num_score;//ʶ�����Ŷ�
	int type;	//�������ͣ�0-������ɫ 1-���Ż�ɫ 2-���Ű�ɫ 3-���ź�ɫ 4-˫�Ż�ɫ 5-˫�Ű�ɫ 6-����Դ����ɫ 7-����Դ����ɫ
		
	//stain_vplate_result stain_vp_result; 		//�����ڵ�ʶ����
	int special_type;						//���泵�ơ���ʱ���ơ����ٳ��ơ�0-common,1-temporary_license_plate,2-low_speed_license_plate.
}vplate_results;
#endif


//5.�����Խ��
#define VPD_FACE_FEATURESIZE 512   
//����Ľṹ����vpd.h�еIJ�һ���ˡ�
#ifndef VPENDANTD_RESULT_
#define VPENDANTD_RESULT_
typedef struct v_pendant_d_info
{
	sy_rect rect;
	int index;		                     //���� 0-driver 1-face 2-belt 3-sunshield 4-tag 5-decoration 6-napkinbox 7-zhuanjt 8-callPhone 9-sunRoof 10-holder 11-smoke
	float confidence;	                 //���Ŷ�
	
	int driver_copilot_info;              //�����Ե����ݸ�����Ϣ��0-�������ݸ��ݣ�1-���ݣ�2-���ݣ���ֻ��˾�� ����������ȫ���������塢��绰������ �������ݸ��ݣ���������Ĭ�������0��
	//float feature[VPD_FACE_FEATURESIZE];  //�����������������
}v_pendant_d_info;

typedef struct v_pendant_d_result
{
	v_pendant_d_info* vpd_res;
	int count;
}v_pendant_d_result;
#endif


//6.������
#define ILLEGAL 1000			//��
#define lEGAL 1001				//�Ϸ�
#define UNCERTAINTY 1002		//��ȷ��
#define NOBODY 1003				//����
#define SOMEBODY 1004			//����

#ifndef VID_RESULT_
#define VID_RESULT_

typedef struct vid_details
{
	int status;					         //�Ƿ�Υ�� ILLEGAL��Υ��(���� δϵ��ȫ�� ��绰) lEGAL��δΥ��(δ���� ϵ��ȫ�� δ��绰) UNCERTAINTY����ȷ�� 
	float confidence;			         //���Ŷ�
}vid_details;

typedef struct vid_info
{
	vid_details belt;			         //�Ƿ�ϵ��ȫ��	ILLEGAL��δϵ��ȫ�� LEGAL��ϵ��ȫ��
	vid_details smoke;			         //�Ƿ����		ILLEGAL������	LEGAL��δ����
	vid_details phone;					//�Ƿ�ʹ�õ绰	ILLEGAL��ʹ�õ绰	LEGAL��δʹ�õ绰
	vid_details call;					//�Ƿ��绰	ILLEGAL����绰	LEGAL��δ��绰
	vid_details person;			         //�Ƿ�����		NOBODY������	SOMEBODY:����
}vid_info;

typedef struct  vid_result
{
	vid_info driver;			         //����ʻ
	vid_info copilot;			         //����ʻ
}vid_result;
#endif


//7.�Գ��ѳ����
//#define FEATURESIZE 256		             //��������
//#define VA_FEATURESIZE 268		             //��������
#define VA_FEATURESIZE 520		             //��������
#ifndef VF_RESULT_
#define VF_RESULT_
typedef struct  vf_result
{
	float feature[VA_FEATURESIZE];
}vf_result;
#endif

//8.����Ʒ�೵��
#ifndef VS_INFORMATION_
#define VS_INFORMATION_
typedef struct vs_information
{
	float score;//���������Ŷ�
	int index;  //����������0-10:"����", "��װ��",  "����", "������", "���˳�","��Ԯ��",  "������", "������", "��ɨ��", "�泵��","Σ��Ʒ��"
}vs_information;
#endif


#ifndef VS_RESULT_
#define VS_RESULT_
typedef struct vs_result
{
	vs_information vs_info[2];//��������Ϣ
	int count;//�����͵���������1���ڲ�û����ֵ
}vs_result;
#endif

//9.�������Ǹ�
#define COVER 1012				//�Ǹ�
#define NOCOVER_NODIRT 1013		//�޸�����
#define NOCOVER_DIRT 1014		//�޸�����

#ifndef MUCKTRUCKCOVER_RESULT_
#define MUCKTRUCKCOVER_RESULT_
typedef struct mucktruckcover_result
{
	int status;					//�Ƿ�Ǹ� COVER-�Ǹ� NOCOVER_NODIRT-�޸����� NOCOVER_DIRT-�޸����� 
	float confidence;			//���Ŷ�
}mucktruckcover_result;

#endif


//11.Ħ�г��Ƿ�����/Ħ�г���ʻ���Ƿ��ͷ��/���ֳ��Ƿ�����
#define MOTOR_MANNED 1005				//Ħ�г�����
#define MOTOR_NOT_MANNED 1006			//Ħ�г�δ����
#define MOTOR_DRIVER_HELMETED 1007		//Ħ�г���ʻ�˴�ͷ��
#define MOTOR_DRIVER_NOT_HELMETED 1008	//Ħ�г���ʻ��δ��ͷ��
#define TRICYCLE_MANNED 1009			//���ֳ�����
#define TRICYCLE_NOT_MANNED 1010		//���ֳ�δ����

#ifndef MTA_RESULT_
#define MTA_RESULT_

typedef struct mta_details
{
	int status;					         //Ħ�г��Ƿ�����/Ħ�г���ʻ���Ƿ��ͷ��/���ֳ��Ƿ����� UNCERTAINTY����ȷ�� 
	float confidence;			         //���Ŷ�
}mta_details;

typedef struct mta_result
{
	mta_details motor_driver_helmeted;			 //Ħ�г���ʻ���Ƿ��ͷ��
	mta_details motor_manned;			         //Ħ�г��Ƿ�����
	mta_details tricycle_manned;			     //���ֳ��Ƿ�����
	vd_result motor_driver_hs_rect;              //Ħ�г���ʻ�ˣ�δ��ͷ��ʱ�����ͷ������
}mta_result;

#endif



//12.�Ƿ�����
#ifndef MANNED_RESULT_
#define MANNED_RESULT_
typedef struct manned_result
{
	//int status;					         //�Ƿ����� 0-���ǻ����������ֳ������ֳ�δ���˻����δ���ˣ�1-�������ˣ�2-���ֳ�����
	//float confidence;			         //���Ŷ�
	
	vd_result hs_rect[10];              //ͷ������
	int hs_count;						//ͷ�����
}manned_result;
#endif