// lib_common_depence.h: 标准系统包含文件的包含文件 // 或项目特定的包含文件。 /************************************************************************/ /* 2021.08.13 上线第一版 */ /************************************************************************/ #pragma once #include "public_define.h" #include "error_api_define.h" ////////////////////////////////// 测试接口 //////////////////////////////////////// /// 测试输出 win/linux msvc/g++ dll_export void api_cout_system_compiler(); /// 测试opencv是否有效 dll_export int api_mat_test(std::string strPath); /// 测试boost dll_export int api_boost_test(std::string strCreateDir); ///////////////////////////////// 交互接口 ///////////////////////////////////////// /** * @brief: 获取版本号 格式:N.X.Y 1.0.1 2.2.0 * @param : * @return const char * : string.c_str() * @author : qqm 2021/03/09 14:24 */ dll_export const char * api_get_version(); /** * @brief: 解析json 数据到模板中 方便测试 * @param type: 见枚举 * @param path: json path * @param qtMap: 全学科逻辑题型与识别题型表 * @param tpInfos: 接受数据 内部会改变内存 所以不同版本的编译器要注意 * @param szInfo: 选做题信息组合 * @param socringMap: 切块和分数框业务表 * @return int : 0 succ -1 some error * @author : qqm 2021/03/09 14:24 */ dll_export int api_param_json(CARD_TYPE type, const char * path,std::map &qtMap, preinfo::templatesInfo & tpInfos, preinfo::SubjChiInfo &zxInfo, std::map &socringMap, std::map *cutingMap = NULL); /** * @brief: 批次图像处理接口 * @param strBatchUUID: 本批次的UUID,每个批次号都是唯一的,每个批次号对应一个模板映射,但是每个模板可以对应N个批次号 * @param strTempSavePath: 临时中间文件存储路径 * @param vecPtInfo: 批次号对应的模板映射的解析结果,由调用者解析好 * @param XzInfo; 选做题信息 调用者提供 * @param vecProcessedImagesList: 待识别图像绝对路径 * @param iLogLeave: 日志等级 使用默认值就好 主要用来线上问题分析调试 * @param bCutRect: 是否切图 * @param type: 参照CARD_TYPE枚举 * @param data_interaction: 回调函数 * @param autoParam: 预留参数 * @return int: 0:succ -1: * @author : qqm 2021/03/05 13:19 */ dll_export int api_processing_images( const char * strBatchUUID, const char * strTempSavePath, const preinfo::templatesInfo & vecPtInfo, const preinfo::SubjChiInfo & XzInfo, const std::vector & vecProcessedImagesList, const LOG_LEAVE iLogLeave /*= LOG_AUTO*/, const bool bCutRect, const CARD_TYPE type, int(*data_interaction)(result::spinfo & pinfo,void * param), void * param ); /** * @brief: 异常图像再次识别接口1 传入的答题卡 默认与模板同方向 同顺序,算法不需要做分页和方向判断,直接按照模板一致处理即可 * @param strBatchUUID: 本批次的UUID,每个批次号都是唯一的,每个批次号对应一个模板映射,但是每个模板可以对应N个批次号 * @param strTempSavePath: 临时中间文件存储路径 * @param vecPtInfo: 批次号对应的模板映射的解析结果,由调用者解析好 * @param XzInfo; 选做题信息 调用者提供 * @param vecProcessedImagesList: 待识别图像绝对路径 * @param iLogLeave: 日志等级 使用默认值就好 主要用来线上问题分析调试 * @param bCutRect: 是否切图 * @param type: 参照CARD_TYPE枚举 * @param data_interaction: 回调函数 * @param autoParam: 预留参数 * @return int: 参见新增异常接口返回值状态码 * @author : qqm 2022/02/17 */ dll_export int api_processing_error_images_self( const char * strBatchUUID, const char * strTempSavePath, const preinfo::templatesInfo & vecPtInfo, const preinfo::SubjChiInfo & XzInfo, const std::vector & vecProcessedImagesList, const LOG_LEAVE iLogLeave /*= LOG_AUTO*/, const bool bCutRect, const CARD_TYPE type, int(*data_interaction)(result::spinfo & pinfo, void * param), void * param ); /** * @brief: 异常图像再次识别接口2 传入模板和答题卡上对应的定位信息序列,手工指定矫正信息 * @param strBatchUUID: 本批次的UUID,每个批次号都是唯一的,每个批次号对应一个模板映射,但是每个模板可以对应N个批次号 * @param strTempSavePath: 临时中间文件存储路径 * @param vecPtInfo: 批次号对应的模板映射的解析结果,由调用者解析好 * @param XzInfo; 选做题信息 调用者提供 * @param vecProcessedImagesList: 待识别图像绝对路径 * @param vecLocationInfoMb: 手工的模板定位信息 不能加const 因为在在线答题卡 需要内部解析定位点 * @param vecLocationInfoMb: 手工的答题卡定位信息 * @param iLogLeave: 日志等级 使用默认值就好 主要用来线上问题分析调试 * @param bCutRect: 是否切图 * @param type: 参照CARD_TYPE&API_PARAM枚举 !!! 注意本参数 为组合参数 传入的类型应该为 CARD_TYPE | ERROR_CARD !!! * @param resultInfo: 结果交互结构体 返回值=RT_OK * @param autoParam: 预留参数 * @return int: 参见新增异常接口返回值状态码 * @author : qqm 2022/02/17 */ dll_export int api_processing_error_images_hand( const char * strBatchUUID, const char * strTempSavePath, const preinfo::templatesInfo & vecPtInfo, const preinfo::SubjChiInfo & XzInfo, const std::vector & vecProcessedImagesList, std::vector & vecLocationInfoMb, const std::vector & vecLocationInfoPt, const LOG_LEAVE iLogLeave /*= LOG_AUTO*/, const bool bCutRect, const CARD_TYPE type, std::vector & resultInfo, void * param );