FastDeploy  latest
Fast & Easy to Deploy!
Functions | Variables
model.cc File Reference
#include "fastdeploy_capi/vision/ocr/ppocr/model.h"
#include "fastdeploy_capi/internal/types_internal.h"
#include "fastdeploy_capi/vision/visualize.h"
Include dependency graph for model.cc:

Functions

FD_C_RecognizerWrapperFD_C_CreateRecognizerWrapper (const char *model_file, const char *params_file, const char *label_path, FD_C_RuntimeOptionWrapper *fd_c_runtime_option_wrapper, const FD_C_ModelFormat model_format)
 Create a new FD_C_RecognizerWrapper object. More...
 
 OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION (Recognizer, fd_c_recognizer_wrapper) FD_C_Bool FD_C_RecognizerWrapperPredict(FD_C_RecognizerWrapper *fd_c_recognizer_wrapper
 
 if (successful)
 
 OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION (Recognizer, fd_c_recognizer_wrapper) FD_C_Bool FD_C_RecognizerWrapperBatchPredict(FD_C_RecognizerWrapper *fd_c_recognizer_wrapper
 
 for (int i=0;i< imgs.size;i++)
 
FD_C_Bool FD_C_RecognizerWrapperBatchPredictWithIndex (FD_C_RecognizerWrapper *fd_c_recognizer_wrapper, FD_C_OneDimMat imgs, FD_C_OneDimArrayCstr *texts, FD_C_OneDimArrayFloat *rec_scores, size_t start_index, size_t end_index, FD_C_OneDimArrayInt32 indices)
 
FD_C_ClassifierWrapperFD_C_CreateClassifierWrapper (const char *model_file, const char *params_file, FD_C_RuntimeOptionWrapper *fd_c_runtime_option_wrapper, const FD_C_ModelFormat model_format)
 Create a new FD_C_ClassifierWrapper object. More...
 
 OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION (Classifier, fd_c_classifier_wrapper) FD_C_Bool FD_C_ClassifierWrapperPredict(FD_C_ClassifierWrapper *fd_c_classifier_wrapper
 
 OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION (Classifier, fd_c_classifier_wrapper) FD_C_Bool FD_C_ClassifierWrapperBatchPredict(FD_C_ClassifierWrapper *fd_c_classifier_wrapper
 
FD_C_Bool FD_C_ClassifierWrapperBatchPredictWithIndex (FD_C_ClassifierWrapper *fd_c_classifier_wrapper, FD_C_OneDimMat imgs, FD_C_OneDimArrayInt32 *cls_labels, FD_C_OneDimArrayFloat *cls_scores, size_t start_index, size_t end_index)
 
FD_C_DBDetectorWrapperFD_C_CreateDBDetectorWrapper (const char *model_file, const char *params_file, FD_C_RuntimeOptionWrapper *fd_c_runtime_option_wrapper, const FD_C_ModelFormat model_format)
 Create a new FD_C_DBDetectorWrapper object. More...
 
 OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION (DBDetector, fd_c_dbdetector_wrapper) FD_C_Bool FD_C_DBDetectorWrapperPredict(FD_C_DBDetectorWrapper *fd_c_dbdetector_wrapper
 
 OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION (DBDetector, fd_c_dbdetector_wrapper) FD_C_Bool FD_C_DBDetectorWrapperBatchPredict(FD_C_DBDetectorWrapper *fd_c_dbdetector_wrapper
 
FD_C_PPOCRv2WrapperFD_C_CreatePPOCRv2Wrapper (FD_C_DBDetectorWrapper *fd_c_det_model_wrapper, FD_C_ClassifierWrapper *fd_c_cls_model_wrapper, FD_C_RecognizerWrapper *fd_c_rec_model_wrapper)
 Set up the detection model path, classification model path and recognition model path respectively. More...
 
 PIPELINE_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION (PPOCRv2, fd_c_ppocrv2_wrapper) FD_C_Bool FD_C_PPOCRv2WrapperPredict(FD_C_PPOCRv2Wrapper *fd_c_ppocrv2_wrapper
 
 FD_C_DestroyOCRResultWrapper (fd_c_ocr_result_wrapper)
 
 PIPELINE_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION (PPOCRv2, fd_c_ppocrv2_wrapper) FD_C_Bool FD_C_PPOCRv2WrapperBatchPredict(FD_C_PPOCRv2Wrapper *fd_c_ppocrv2_wrapper
 
FD_C_PPOCRv3WrapperFD_C_CreatePPOCRv3Wrapper (FD_C_DBDetectorWrapper *fd_c_det_model_wrapper, FD_C_ClassifierWrapper *fd_c_cls_model_wrapper, FD_C_RecognizerWrapper *fd_c_rec_model_wrapper)
 Set up the detection model path, classification model path and recognition model path respectively. More...
 
 PIPELINE_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION (PPOCRv3, fd_c_ppocrv3_wrapper) FD_C_Bool FD_C_PPOCRv3WrapperPredict(FD_C_PPOCRv3Wrapper *fd_c_ppocrv3_wrapper
 
 PIPELINE_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION (PPOCRv3, fd_c_ppocrv3_wrapper) FD_C_Bool FD_C_PPOCRv3WrapperBatchPredict(FD_C_PPOCRv3Wrapper *fd_c_ppocrv3_wrapper
 

Variables

FD_C_Mat img
 
FD_C_Mat FD_C_Cstrtext
 
FD_C_Mat FD_C_Cstr float * rec_score
 
auto & model
 
std::string res_string
 
bool successful = model->Predict(*im, &res_string, rec_score)
 
FD_C_OneDimMat imgs
 
FD_C_OneDimMat FD_C_OneDimArrayCstrtexts
 
FD_C_OneDimMat FD_C_OneDimArrayCstr FD_C_OneDimArrayFloatrec_scores
 
std::vector< std::string > texts_out
 
std::vector< float > rec_scores_out
 
FD_C_Mat int32_t * cls_label
 
FD_C_Mat int32_t float * cls_score
 
FD_C_OneDimMat FD_C_OneDimArrayInt32cls_labels
 
FD_C_OneDimMat FD_C_OneDimArrayInt32 FD_C_OneDimArrayFloatcls_scores
 
std::vector< int > cls_labels_out
 
std::vector< float > cls_scores_out
 
FD_C_Mat FD_C_TwoDimArrayInt32boxes_result
 
std::vector< std::array< int, 8 > > boxes_result_out
 
FD_C_OneDimMat FD_C_ThreeDimArrayInt32det_results
 
std::vector< std::vector< std::array< int, 8 > > > det_results_out
 
FD_C_Mat FD_C_OCRResultfd_c_ocr_result
 
FD_C_OCRResultWrapperfd_c_ocr_result_wrapper
 
auto & ocr_result
 
FD_C_OneDimMat FD_C_OneDimOCRResultresults
 
std::vector< FD_C_OCRResultWrapper * > results_wrapper_out
 
std::vector< fastdeploy::vision::OCRResult > results_out
 

Function Documentation

◆ FD_C_ClassifierWrapperBatchPredictWithIndex()

FD_C_Bool FD_C_ClassifierWrapperBatchPredictWithIndex ( FD_C_ClassifierWrapper fd_c_classifier_wrapper,
FD_C_OneDimMat  imgs,
FD_C_OneDimArrayInt32 cls_labels,
FD_C_OneDimArrayFloat cls_scores,
size_t  start_index,
size_t  end_index 
)

◆ FD_C_CreateClassifierWrapper()

FD_C_ClassifierWrapper* FD_C_CreateClassifierWrapper ( const char *  model_file,
const char *  params_file,
FD_C_RuntimeOptionWrapper fd_c_runtime_option_wrapper,
const FD_C_ModelFormat  model_format 
)

Create a new FD_C_ClassifierWrapper object.

Parameters
[in]model_filePath of model file, e.g ./ch_ppocr_mobile_v2.0_cls_infer/model.pdmodel.
[in]params_filePath of parameter file, e.g ./ch_ppocr_mobile_v2.0_cls_infer/model.pdiparams, if the model format is ONNX, this parameter will be ignored.
[in]fd_c_runtime_option_wrapperRuntimeOption for inference, the default will use cpu, and choose the backend defined in valid_cpu_backends.
[in]model_formatModel format of the loaded model, default is Paddle format.
Returns
Return a pointer to FD_C_ClassifierWrapper object

◆ FD_C_CreateDBDetectorWrapper()

FD_C_DBDetectorWrapper* FD_C_CreateDBDetectorWrapper ( const char *  model_file,
const char *  params_file,
FD_C_RuntimeOptionWrapper fd_c_runtime_option_wrapper,
const FD_C_ModelFormat  model_format 
)

Create a new FD_C_DBDetectorWrapper object.

Parameters
[in]model_filePath of model file, e.g ./ch_PP-OCRv3_det_infer/model.pdmodel.
[in]params_filePath of parameter file, e.g ./ch_PP-OCRv3_det_infer/model.pdiparams, if the model format is ONNX, this parameter will be ignored.
[in]custom_optionRuntimeOption for inference, the default will use cpu, and choose the backend defined in valid_cpu_backends.
[in]model_formatModel format of the loaded model, default is Paddle format.
Returns
Return a pointer to FD_C_DBDetectorWrapper object

◆ FD_C_CreatePPOCRv2Wrapper()

FD_C_PPOCRv2Wrapper* FD_C_CreatePPOCRv2Wrapper ( FD_C_DBDetectorWrapper det_model,
FD_C_ClassifierWrapper cls_model,
FD_C_RecognizerWrapper rec_model 
)

Set up the detection model path, classification model path and recognition model path respectively.

Parameters
[in]det_modelPath of detection model, e.g ./ch_PP-OCRv2_det_infer
[in]cls_modelPath of classification model, e.g ./ch_ppocr_mobile_v2.0_cls_infer
[in]rec_modelPath of recognition model, e.g ./ch_PP-OCRv2_rec_infer

◆ FD_C_CreatePPOCRv3Wrapper()

FD_C_PPOCRv3Wrapper* FD_C_CreatePPOCRv3Wrapper ( FD_C_DBDetectorWrapper det_model,
FD_C_ClassifierWrapper cls_model,
FD_C_RecognizerWrapper rec_model 
)

Set up the detection model path, classification model path and recognition model path respectively.

Parameters
[in]det_modelPath of detection model, e.g ./ch_PP-OCRv2_det_infer
[in]cls_modelPath of classification model, e.g ./ch_ppocr_mobile_v2.0_cls_infer
[in]rec_modelPath of recognition model, e.g ./ch_PP-OCRv2_rec_infer

◆ FD_C_CreateRecognizerWrapper()

FD_C_RecognizerWrapper* FD_C_CreateRecognizerWrapper ( const char *  model_file,
const char *  params_file,
const char *  label_path,
FD_C_RuntimeOptionWrapper fd_c_runtime_option_wrapper,
const FD_C_ModelFormat  model_format 
)

Create a new FD_C_RecognizerWrapper object.

Parameters
[in]model_filePath of model file, e.g ./ch_PP-OCRv3_rec_infer/model.pdmodel.
[in]params_filePath of parameter file, e.g ./ch_PP-OCRv3_rec_infer/model.pdiparams, if the model format is ONNX, this parameter will be ignored.
[in]label_pathPath of label file used by OCR recognition model. e.g ./ppocr_keys_v1.txt
[in]custom_optionRuntimeOption for inference, the default will use cpu, and choose the backend defined in valid_cpu_backends.
[in]model_formatModel format of the loaded model, default is Paddle format.
Returns
Return a pointer to FD_C_RecognizerWrapper object

◆ FD_C_DestroyOCRResultWrapper()

FD_C_DestroyOCRResultWrapper ( fd_c_ocr_result_wrapper  )

◆ FD_C_RecognizerWrapperBatchPredictWithIndex()

FD_C_Bool FD_C_RecognizerWrapperBatchPredictWithIndex ( FD_C_RecognizerWrapper fd_c_recognizer_wrapper,
FD_C_OneDimMat  imgs,
FD_C_OneDimArrayCstr texts,
FD_C_OneDimArrayFloat rec_scores,
size_t  start_index,
size_t  end_index,
FD_C_OneDimArrayInt32  indices 
)

◆ for()

for ( )

◆ if()

if ( successful  )

◆ OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION() [1/3]

OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION ( Recognizer  ,
fd_c_recognizer_wrapper   
)

◆ OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION() [2/3]

OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION ( Classifier  ,
fd_c_classifier_wrapper   
)

◆ OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION() [3/3]

OCR_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION ( DBDetector  ,
fd_c_dbdetector_wrapper   
)

◆ OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION() [1/3]

OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION ( Recognizer  ,
fd_c_recognizer_wrapper   
)

◆ OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION() [2/3]

OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION ( Classifier  ,
fd_c_classifier_wrapper   
)

◆ OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION() [3/3]

OCR_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION ( DBDetector  ,
fd_c_dbdetector_wrapper   
)

◆ PIPELINE_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION() [1/2]

PIPELINE_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION ( PPOCRv2  ,
fd_c_ppocrv2_wrapper   
)

◆ PIPELINE_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION() [2/2]

PIPELINE_DECLARE_AND_IMPLEMENT_DESTROY_WRAPPER_FUNCTION ( PPOCRv3  ,
fd_c_ppocrv3_wrapper   
)

◆ PIPELINE_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION() [1/2]

PIPELINE_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION ( PPOCRv2  ,
fd_c_ppocrv2_wrapper   
)

◆ PIPELINE_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION() [2/2]

PIPELINE_DECLARE_AND_IMPLEMENT_INITIALIZED_FUNCTION ( PPOCRv3  ,
fd_c_ppocrv3_wrapper   
)

Variable Documentation

◆ boxes_result

Initial value:
{
cv::Mat* im = reinterpret_cast<cv::Mat*>(img)
FD_C_Mat img
Definition: model.cc:61

◆ boxes_result_out

std::vector<std::array<int, 8> > boxes_result_out

◆ cls_label

FD_C_Mat int32_t* cls_label

◆ cls_labels

◆ cls_labels_out

std::vector<int> cls_labels_out

◆ cls_score

FD_C_Mat int32_t float* cls_score
Initial value:
{
cv::Mat* im = reinterpret_cast<cv::Mat*>(img)
FD_C_Mat img
Definition: model.cc:61

◆ cls_scores

Initial value:
{
std::vector<cv::Mat> imgs_vec

◆ cls_scores_out

std::vector<float> cls_scores_out

◆ det_results

Initial value:
{
std::vector<cv::Mat> imgs_vec

◆ det_results_out

std::vector<std::vector<std::array<int, 8> > > det_results_out

◆ fd_c_ocr_result

FD_C_Mat FD_C_OCRResult * fd_c_ocr_result
Initial value:
{
cv::Mat* im = reinterpret_cast<cv::Mat*>(img)
FD_C_Mat img
Definition: model.cc:61

◆ fd_c_ocr_result_wrapper

FD_C_OCRResultWrapper * fd_c_ocr_result_wrapper
Initial value:
=
FD_C_OCRResultWrapper * FD_C_CreateOCRResultWrapper()
Create a new FD_C_OCRResultWrapper object.
Definition: result.cc:265

◆ img

FD_C_Mat img

◆ imgs

◆ model

auto & model
Initial value:
=
CHECK_AND_CONVERT_FD_TYPE(RecognizerWrapper, fd_c_recognizer_wrapper)
#define CHECK_AND_CONVERT_FD_TYPE(TYPENAME, variable_name)
Definition: types_internal.h:36

◆ ocr_result

auto & ocr_result
Initial value:
=
FD_C_OCRResultWrapper * fd_c_ocr_result_wrapper
Definition: model.cc:349
#define CHECK_AND_CONVERT_FD_TYPE(TYPENAME, variable_name)
Definition: types_internal.h:36

◆ rec_score

FD_C_Mat FD_C_Cstr float* rec_score
Initial value:
{
cv::Mat* im = reinterpret_cast<cv::Mat*>(img)
FD_C_Mat img
Definition: model.cc:61

◆ rec_scores

Initial value:
{
std::vector<cv::Mat> imgs_vec

◆ rec_scores_out

std::vector<float> rec_scores_out

◆ res_string

std::string res_string

◆ results

Initial value:
{
std::vector<cv::Mat> imgs_vec

◆ results_out

std::vector< fastdeploy::vision::OCRResult > results_out

◆ results_wrapper_out

std::vector< FD_C_OCRResultWrapper * > results_wrapper_out

◆ successful

return successful = model->Predict(*im, &res_string, rec_score)

◆ text

◆ texts

◆ texts_out

std::vector<std::string> texts_out