File size: 1,999 Bytes
8207382 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | // Copyright (c) 2025 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "text_detection.h"
#include "src/utils/args.h"
#include "src/utils/yaml_config.h"
#define COPY_PARAMS(field) to.field = from.field;
TextDetection::TextDetection(const TextDetectionParams ¶ms)
: params_(params) {
auto status = CheckParams();
if (!status.ok()) {
INFOE("Init TextDetection fail : %s", status.ToString().c_str());
exit(-1);
}
CreateModel();
};
std::vector<std::unique_ptr<BaseCVResult>>
TextDetection::Predict(const std::vector<std::string> &input) {
return model_infer_->Predict(input);
}
void TextDetection::CreateModel() {
model_infer_ = std::unique_ptr<BasePredictor>(
new TextDetPredictor(ToTextDetectionModelParams(params_)));
}
absl::Status TextDetection::CheckParams() {
if (!params_.model_dir.has_value()) {
return absl::NotFoundError("Require text detection model dir.");
}
return absl::OkStatus();
}
TextDetPredictorParams
TextDetection::ToTextDetectionModelParams(const TextDetectionParams &from) {
TextDetPredictorParams to;
COPY_PARAMS(model_name)
COPY_PARAMS(model_dir)
COPY_PARAMS(limit_side_len)
COPY_PARAMS(limit_type)
COPY_PARAMS(thresh)
COPY_PARAMS(box_thresh)
COPY_PARAMS(unclip_ratio)
COPY_PARAMS(input_shape)
COPY_PARAMS(device)
COPY_PARAMS(enable_mkldnn)
COPY_PARAMS(mkldnn_cache_capacity)
COPY_PARAMS(precision)
COPY_PARAMS(cpu_threads)
return to;
}
|