lib_common_depence.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. // lib_common_depence.h: 标准系统包含文件的包含文件
  2. // 或项目特定的包含文件。
  3. /************************************************************************/
  4. /* 2021.08.13 上线第一版 */
  5. /************************************************************************/
  6. #pragma once
  7. #include "public_define.h"
  8. #include "error_api_define.h"
  9. ////////////////////////////////// 测试接口 ////////////////////////////////////////
  10. /// 测试输出 win/linux msvc/g++
  11. dll_export void api_cout_system_compiler();
  12. /// 测试opencv是否有效
  13. dll_export int api_mat_test(std::string strPath);
  14. /// 测试boost
  15. dll_export int api_boost_test(std::string strCreateDir);
  16. ///////////////////////////////// 交互接口 /////////////////////////////////////////
  17. /**
  18. * @brief: 获取版本号 格式:N.X.Y 1.0.1 2.2.0
  19. * @param :
  20. * @return const char * : string.c_str()
  21. * @author : qqm 2021/03/09 14:24
  22. */
  23. dll_export const char * api_get_version();
  24. /**
  25. * @brief: 解析json 数据到模板中 方便测试
  26. * @param type: 见枚举
  27. * @param path: json path
  28. * @param qtMap: 全学科逻辑题型与识别题型表
  29. * @param tpInfos: 接受数据 内部会改变内存 所以不同版本的编译器要注意
  30. * @param szInfo: 选做题信息组合
  31. * @param socringMap: 切块和分数框业务表
  32. * @return int : 0 succ -1 some error
  33. * @author : qqm 2021/03/09 14:24
  34. */
  35. dll_export int api_param_json(CARD_TYPE type, const char * path,std::map<int ,int> &qtMap,
  36. preinfo::templatesInfo & tpInfos, preinfo::SubjChiInfo &zxInfo, std::map<int, preinfo::SocringArea> &socringMap, std::map<int, preinfo::QtNumInfo> *cutingMap = NULL);
  37. /**
  38. * @brief: 批次图像处理接口
  39. * @param strBatchUUID: 本批次的UUID,每个批次号都是唯一的,每个批次号对应一个模板映射,但是每个模板可以对应N个批次号
  40. * @param strTempSavePath: 临时中间文件存储路径
  41. * @param vecPtInfo: 批次号对应的模板映射的解析结果,由调用者解析好
  42. * @param XzInfo; 选做题信息 调用者提供
  43. * @param vecProcessedImagesList: 待识别图像绝对路径
  44. * @param iLogLeave: 日志等级 使用默认值就好 主要用来线上问题分析调试
  45. * @param bCutRect: 是否切图
  46. * @param type: 参照CARD_TYPE枚举
  47. * @param data_interaction: 回调函数
  48. * @param autoParam: 预留参数
  49. * @return int: 0:succ -1:
  50. * @author : qqm 2021/03/05 13:19
  51. */
  52. dll_export int api_processing_images(
  53. const char * strBatchUUID,
  54. const char * strTempSavePath,
  55. const preinfo::templatesInfo & vecPtInfo,
  56. const preinfo::SubjChiInfo & XzInfo,
  57. const std::vector<std::string> & vecProcessedImagesList,
  58. const LOG_LEAVE iLogLeave /*= LOG_AUTO*/,
  59. const bool bCutRect,
  60. const CARD_TYPE type,
  61. int(*data_interaction)(result::spinfo & pinfo,void * param),
  62. void * param
  63. );
  64. /**
  65. * @brief: 异常图像再次识别接口1 传入的答题卡 默认与模板同方向 同顺序,算法不需要做分页和方向判断,直接按照模板一致处理即可
  66. * @param strBatchUUID: 本批次的UUID,每个批次号都是唯一的,每个批次号对应一个模板映射,但是每个模板可以对应N个批次号
  67. * @param strTempSavePath: 临时中间文件存储路径
  68. * @param vecPtInfo: 批次号对应的模板映射的解析结果,由调用者解析好
  69. * @param XzInfo; 选做题信息 调用者提供
  70. * @param vecProcessedImagesList: 待识别图像绝对路径
  71. * @param iLogLeave: 日志等级 使用默认值就好 主要用来线上问题分析调试
  72. * @param bCutRect: 是否切图
  73. * @param type: 参照CARD_TYPE枚举
  74. * @param data_interaction: 回调函数
  75. * @param autoParam: 预留参数
  76. * @return int: 参见新增异常接口返回值状态码
  77. * @author : qqm 2022/02/17
  78. */
  79. dll_export int api_processing_error_images_self(
  80. const char * strBatchUUID,
  81. const char * strTempSavePath,
  82. const preinfo::templatesInfo & vecPtInfo,
  83. const preinfo::SubjChiInfo & XzInfo,
  84. const std::vector<std::string> & vecProcessedImagesList,
  85. const LOG_LEAVE iLogLeave /*= LOG_AUTO*/,
  86. const bool bCutRect,
  87. const CARD_TYPE type,
  88. int(*data_interaction)(result::spinfo & pinfo, void * param),
  89. void * param
  90. );
  91. /**
  92. * @brief: 异常图像再次识别接口2 传入模板和答题卡上对应的定位信息序列,手工指定矫正信息
  93. * @param strBatchUUID: 本批次的UUID,每个批次号都是唯一的,每个批次号对应一个模板映射,但是每个模板可以对应N个批次号
  94. * @param strTempSavePath: 临时中间文件存储路径
  95. * @param vecPtInfo: 批次号对应的模板映射的解析结果,由调用者解析好
  96. * @param XzInfo; 选做题信息 调用者提供
  97. * @param vecProcessedImagesList: 待识别图像绝对路径
  98. * @param vecLocationInfoMb: 手工的模板定位信息 不能加const 因为在在线答题卡 需要内部解析定位点
  99. * @param vecLocationInfoMb: 手工的答题卡定位信息
  100. * @param iLogLeave: 日志等级 使用默认值就好 主要用来线上问题分析调试
  101. * @param bCutRect: 是否切图
  102. * @param type: 参照CARD_TYPE&API_PARAM枚举 !!! 注意本参数 为组合参数 传入的类型应该为 CARD_TYPE | ERROR_CARD !!!
  103. * @param resultInfo: 结果交互结构体 返回值=RT_OK
  104. * @param autoParam: 预留参数
  105. * @return int: 参见新增异常接口返回值状态码
  106. * @author : qqm 2022/02/17
  107. */
  108. dll_export int api_processing_error_images_hand(
  109. const char * strBatchUUID,
  110. const char * strTempSavePath,
  111. const preinfo::templatesInfo & vecPtInfo,
  112. const preinfo::SubjChiInfo & XzInfo,
  113. const std::vector<std::string> & vecProcessedImagesList,
  114. std::vector<analysis::LocationResult> & vecLocationInfoMb,
  115. const std::vector<analysis::LocationResult> & vecLocationInfoPt,
  116. const LOG_LEAVE iLogLeave /*= LOG_AUTO*/,
  117. const bool bCutRect,
  118. const CARD_TYPE type,
  119. std::vector<eapi::SingleErrorPaperInfo> & resultInfo,
  120. void * param
  121. );