1. 算法接口 /* * @brief 初始化 * * @param[in] param 算法参数(json格式, 包含相机标定矩阵) * @return 错误码 */ std::tuple initParam(const nlohmann::json& param); // param /* * @brief 计算一台相机点云,可并发 * * @param[in] image_list 一台相机的图像 * @param[out] cloud_points 点云 * @return 错误码 */ std::tuple calcCloud(const std::vector>& image_list, std::shared_ptr>& cloud_points); /* * @brief 合并点云 * * @param[in] cloud_points_list 相机id 和 相机对应点云 * @param[out] cloud_points 四台相机合并后的点云 * @return 错误码 */ std::tuple mergeCloud(const std::map>>& cloud_points_list, std::shared_ptr>& cloud_points); /* * @brief 翘曲测量 * * @param[in] cloud_points 合并后的点云 * @param[in] filterMM 过滤尺寸 * @param[out] result 测量结果(json格式),如result * @return 错误码 */ std::tuple warpage(const std::shared_ptr>& cloud_points, int32_t filterMM, nlohmann::json& result); 2. 测量结果 result: { "x" : { "height":[0.1,0.2,...], // 预计4000个 "bow" : 0.1, "warpage" : 0.1 }, "y" : { "height":[0.1,0.2,...], "bow" : 0.1, "warpage" : 0.1 } "max_bow" : { "angle":0.1, // 弧度 "height":[0.1,0.2,...], "max_bow" : 0.1 }, "max_warpage" : { "angle":0.1, // 弧度 "height":[0.1,0.2,...], "max_warpage" : 0.1 } } 3. 算法错误码 待定