20 #include "fastdeploy/vision/classification/ppcls/model.h" 21 #include "fastdeploy/vision/common/result.h" 22 #include "fastdeploy/vision/detection/ppdet/model.h" 23 #include "fastdeploy/vision/detection/contrib/yolov5/yolov5.h" 24 #include "fastdeploy/vision/detection/contrib/yolov7/yolov7.h" 25 #include "fastdeploy/vision/detection/contrib/yolov8/yolov8.h" 26 #include "fastdeploy/vision/detection/contrib/yolor.h" 27 #include "fastdeploy/vision/detection/contrib/yolox.h" 28 #include "fastdeploy/vision/detection/contrib/yolov6.h" 29 #include "fastdeploy/vision/ocr/ppocr/classifier.h" 30 #include "fastdeploy/vision/ocr/ppocr/dbdetector.h" 31 #include "fastdeploy/vision/ocr/ppocr/recognizer.h" 32 #include "fastdeploy/vision/ocr/ppocr/ppocr_v2.h" 33 #include "fastdeploy/vision/ocr/ppocr/ppocr_v3.h" 34 #include "fastdeploy/vision/segmentation/ppseg/model.h" 36 #define DEFINE_RESULT_WRAPPER_STRUCT(typename, varname) typedef struct FD_C_##typename##Wrapper { \ 37 std::unique_ptr<fastdeploy::vision::typename> varname; \ 38 } FD_C_##typename##Wrapper 40 #define DEFINE_CLASSIFICATION_MODEL_WRAPPER_STRUCT(typename, varname) typedef struct FD_C_##typename##Wrapper { \ 41 std::unique_ptr<fastdeploy::vision::classification::typename> \ 43 } FD_C_##typename##Wrapper 45 #define DEFINE_DETECTION_MODEL_WRAPPER_STRUCT(typename, varname) typedef struct FD_C_##typename##Wrapper { \ 46 std::unique_ptr<fastdeploy::vision::detection::typename> varname; \ 47 } FD_C_##typename##Wrapper 49 #define DEFINE_OCR_MODEL_WRAPPER_STRUCT(typename, varname) typedef struct FD_C_##typename##Wrapper { \ 50 std::unique_ptr<fastdeploy::vision::ocr::typename> varname; \ 51 } FD_C_##typename##Wrapper 53 #define DEFINE_PIPELINE_MODEL_WRAPPER_STRUCT(typename, varname) typedef struct FD_C_##typename##Wrapper { \ 54 std::unique_ptr<fastdeploy::pipeline::typename> varname; \ 55 } FD_C_##typename##Wrapper 57 #define DEFINE_SEGMENTATION_MODEL_WRAPPER_STRUCT(typename, varname) typedef struct FD_C_##typename##Wrapper { \ 58 std::unique_ptr<fastdeploy::vision::segmentation::typename> varname; \ 59 } FD_C_##typename##Wrapper 192 #define DECLARE_RESULT_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, varname) std::unique_ptr<fastdeploy::vision::typename>& \ 193 FD_C_CheckAndConvert##typename##Wrapper( \ 194 FD_C_##typename##Wrapper* varname) 196 #define DECLARE_CLASSIFICATION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, varname) std::unique_ptr<fastdeploy::vision::classification::typename>& \ 197 FD_C_CheckAndConvert##typename##Wrapper( \ 198 FD_C_##typename##Wrapper* varname) 200 #define DECLARE_DETECTION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, varname) std::unique_ptr<fastdeploy::vision::detection::typename>& \ 201 FD_C_CheckAndConvert##typename##Wrapper( \ 202 FD_C_##typename##Wrapper* varname) 205 #define DECLARE_OCR_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, varname) std::unique_ptr<fastdeploy::vision::ocr::typename>& \ 206 FD_C_CheckAndConvert##typename##Wrapper( \ 207 FD_C_##typename##Wrapper* varname) 209 #define DECLARE_PIPELINE_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, varname) std::unique_ptr<fastdeploy::pipeline::typename>& \ 210 FD_C_CheckAndConvert##typename##Wrapper( \ 211 FD_C_##typename##Wrapper* varname) 213 #define DECLARE_SEGMENTATION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, varname) std::unique_ptr<fastdeploy::vision::segmentation::typename>& \ 214 FD_C_CheckAndConvert##typename##Wrapper( \ 215 FD_C_##typename##Wrapper* varname) 224 fd_classify_result_wrapper);
227 fd_detection_result_wrapper);
232 fd_ocr_result_wrapper);
236 fd_segmentation_result_wrapper);
246 PaddleClasModel, fd_paddleclas_model_wrapper);
274 fd_paddleyolox_wrapper);
279 fd_fasterrcnn_wrapper);
284 fd_maskrcnn_wrapper);
294 fd_paddleyolov5_wrapper);
299 fd_paddleyolov6_wrapper);
304 fd_paddleyolov7_wrapper);
309 fd_paddleyolov8_wrapper);
319 fd_cascadercnn_wrapper);
329 fd_retinanet_wrapper);
396 PaddleSegModel, fd_paddleseg_model_wrapper);
401 #define DECL_AND_IMPLEMENT_RESULT_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, var_wrapper_name, var_ptr_name) std::unique_ptr<fastdeploy::vision::typename>& \ 402 FD_C_CheckAndConvert##typename##Wrapper( \ 403 FD_C_##typename##Wrapper* var_wrapper_name) { \ 404 FDASSERT(var_wrapper_name != nullptr, \ 405 "The pointer of " #var_wrapper_name " shouldn't be nullptr."); \ 406 return var_wrapper_name->var_ptr_name; \ 409 #define DECL_AND_IMPLEMENT_CLASSIFICATION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, var_wrapper_name, var_ptr_name) std::unique_ptr<fastdeploy::vision::classification::typename>& \ 410 FD_C_CheckAndConvert##typename##Wrapper( \ 411 FD_C_##typename##Wrapper* var_wrapper_name) { \ 412 FDASSERT(var_wrapper_name != nullptr, \ 413 "The pointer of " #var_wrapper_name " shouldn't be nullptr."); \ 414 return var_wrapper_name->var_ptr_name; \ 417 #define DECL_AND_IMPLEMENT_DETECTION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, var_wrapper_name, var_ptr_name) std::unique_ptr<fastdeploy::vision::detection::typename>& \ 418 FD_C_CheckAndConvert##typename##Wrapper( \ 419 FD_C_##typename##Wrapper* var_wrapper_name) { \ 420 FDASSERT(var_wrapper_name != nullptr, \ 421 "The pointer of " #var_wrapper_name " shouldn't be nullptr."); \ 422 return var_wrapper_name->var_ptr_name; \ 426 #define DECL_AND_IMPLEMENT_OCR_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, var_wrapper_name, var_ptr_name) std::unique_ptr<fastdeploy::vision::ocr::typename>& \ 427 FD_C_CheckAndConvert##typename##Wrapper( \ 428 FD_C_##typename##Wrapper* var_wrapper_name) { \ 429 FDASSERT(var_wrapper_name != nullptr, \ 430 "The pointer of " #var_wrapper_name " shouldn't be nullptr."); \ 431 return var_wrapper_name->var_ptr_name; \ 434 #define DECL_AND_IMPLEMENT_PIPELINE_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, var_wrapper_name, var_ptr_name) std::unique_ptr<fastdeploy::pipeline::typename>& \ 435 FD_C_CheckAndConvert##typename##Wrapper( \ 436 FD_C_##typename##Wrapper* var_wrapper_name) { \ 437 FDASSERT(var_wrapper_name != nullptr, \ 438 "The pointer of " #var_wrapper_name " shouldn't be nullptr."); \ 439 return var_wrapper_name->var_ptr_name; \ 442 #define DECL_AND_IMPLEMENT_SEGMENTATION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(typename, var_wrapper_name, var_ptr_name) std::unique_ptr<fastdeploy::vision::segmentation::typename>& \ 443 FD_C_CheckAndConvert##typename##Wrapper( \ 444 FD_C_##typename##Wrapper* var_wrapper_name) { \ 445 FDASSERT(var_wrapper_name != nullptr, \ 446 "The pointer of " #var_wrapper_name " shouldn't be nullptr."); \ 447 return var_wrapper_name->var_ptr_name; \ #define DEFINE_CLASSIFICATION_MODEL_WRAPPER_STRUCT(typename, varname)
Definition: types_internal.h:40
#define DEFINE_RESULT_WRAPPER_STRUCT(typename, varname)
Definition: types_internal.h:36
DECLARE_SEGMENTATION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(PaddleSegModel, fd_paddleseg_model_wrapper)
DECLARE_RESULT_FUNC_FOR_GET_PTR_FROM_WRAPPER(ClassifyResult, fd_classify_result_wrapper)
DECLARE_DETECTION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(PPYOLOE, fd_ppyoloe_wrapper)
#define DEFINE_OCR_MODEL_WRAPPER_STRUCT(typename, varname)
Definition: types_internal.h:49
#define DEFINE_DETECTION_MODEL_WRAPPER_STRUCT(typename, varname)
Definition: types_internal.h:45
#define DEFINE_SEGMENTATION_MODEL_WRAPPER_STRUCT(typename, varname)
Definition: types_internal.h:57
auto & ocr_result
Definition: model.cc:351
DECLARE_CLASSIFICATION_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(PaddleClasModel, fd_paddleclas_model_wrapper)
#define DEFINE_PIPELINE_MODEL_WRAPPER_STRUCT(typename, varname)
Definition: types_internal.h:53
DECLARE_PIPELINE_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(PPOCRv2, fd_ppocrv2_wrapper)
Definition: types_internal.cc:17
DECLARE_OCR_MODEL_FUNC_FOR_GET_PTR_FROM_WRAPPER(Recognizer, fd_recognizer_wrapper)