mvpt.h 5.11 KB
/*******************************************************************************************
* Version: mvpt_v1.2.24
* CopyRight:中科视语(北京)科技有限公司
* UpdateDate: 20210517
* Content: 多路人车物检测跟踪属性分析
********************************************************************************************/

#ifndef VPT_H_
#define VPT_H_
#ifdef _MSC_VER
#ifdef VPT_EXPORTS
#define VPT_API __declspec(dllexport)
#else
#define VPT_API __declspec(dllimport)
#endif
#else
#define VPT_API   __attribute__ ((visibility ("default")))
#endif
#include "header.h"


extern "C"
{
	/*************************************************************************
	* FUNCTION: mvpt_init
	* PURPOSE: 初始化
	* PARAM:
	[out] handle		           - 句柄     
	[in] vptParam                  - vpt初始化参数
	[in] taskObjInfoCallbackFunc   - 返回所有路每帧的处理结果
	[in] taskFinishCallbackFunc    - 若某路视频检测结束,返回该路任务ID号
	* RETURN:
	* NOTES:
	*************************************************************************/
	VPT_API int mvpt_init(void **handle, mvpt_param param);


	/*************************************************************************
	* FUNCTION: add_task
	* PURPOSE: 添加任务
	* PARAM:
	[in] handle		             - 句柄
	[in] videoFileName           - 检测视频路径名
	[in] objCallbackFunc         - 返回检测物体的快照信息
	[in] realTimeCallbackFunc    - 返回实时查看时视频的图像
	[in] resultFolderLittle      - 传入结果保存文件夹路径,会在当前文件夹下创建两个子文件夹分别存储快照抠图(如:"G:/VPT_Result/1/")
	[in] resultFolder            - 传入结果保存文件夹路径,会在当前文件夹下创建两个子文件夹分别存储快照视频截图(如:"G:/VPT_Result/1/")
	* RETURN: 新建任务的ID号
	* NOTES:
	*************************************************************************/
	VPT_API int add_task(void *handle, task_param param);

	/*************************************************************************
	* FUNCTION: get_task_progress
	* PURPOSE: 获取任务进度
	* PARAM:
	[in] handle		             - 句柄
	[in] taskid                  - 任务id
	[out] progress               - 进度信息
	* RETURN: 成功 0,未找到任务 -1
	* NOTES:
	*************************************************************************/
	VPT_API int get_task_progress(void *handle, int taskid, double &progress);
	/*************************************************************************
	* FUNCTION: pause_task
	* PURPOSE: 暂停任务
	* PARAM:
	[in] handle		      - 句柄
	[in] videoFileName    - 暂停任务ID号
	* RETURN:
	* NOTES:
	*************************************************************************/
	VPT_API void pause_task(void *handle, int task_id);


	/*************************************************************************
	* FUNCTION: restart_task
	* PURPOSE: 重启任务
	* PARAM:
	[in] handle		      - 句柄
	[in] videoFileName    - 重启任务ID号
	* RETURN:
	* NOTES:
	*************************************************************************/
	VPT_API void restart_task(void *handle, int task_id);


	/*************************************************************************
	* FUNCTION: finish_task
	* PURPOSE: 结束任务
	* PARAM:
	[in] handle		      - 句柄
	[in] videoFileName    - 结束任务ID号
	* RETURN:
	* NOTES:
	*************************************************************************/
	VPT_API void finish_task(void *handle, int task_id);


	/*************************************************************************
	* FUNCTION: rt_view_task
	* PURPOSE: 实时查看某一路视频检测结果
	* PARAM:
	[in] handle		      - 句柄
	[in] taskID           - 待查看任务ID号
	* RETURN:
	* NOTES:
	*************************************************************************/
	VPT_API void rt_view_task(void *handle, int task_id);


	/*************************************************************************
	* FUNCTION: finish_view_task
	* PURPOSE: 结束对改路视频的实时查看
	* PARAM:
	[in] handle		      - 句柄
	* RETURN:
	* NOTES:因为目前只支持对一路视频的查看,因此结束查看时需要制定视频ID号
	*************************************************************************/
	VPT_API void finish_view_task(void *handle);

	VPT_API int get_running_task_number(void *handle);


	/*************************************************************************
	* FUNCTION: mvpt_release
	* PURPOSE: 资源释放
	* PARAM:
	[in] handle		    - 处理句柄
	* RETURN:	NULL
	* NOTES:
	*************************************************************************/
	VPT_API void mvpt_release(void **handle);


	/*************************************************************************
	* FUNCTION: get_mvpt_sdk_version
	* PURPOSE: 获取SDK版本号
	* PARAM:
	* RETURN: sdk版本号
	* NOTES:
	*************************************************************************/
	VPT_API const char* get_mvpt_sdk_version();
}
#endif