129 lines
3.5 KiB
C++
129 lines
3.5 KiB
C++
// This file is part of OpenCV project.
|
|
// It is subject to the license terms in the LICENSE file found in the top-level directory
|
|
// of this distribution and at http://opencv.org/license.html.
|
|
//
|
|
// Copyright (C) 2023 Intel Corporation
|
|
|
|
#ifndef OPENCV_GAPI_INFER_BINDINGS_OV_HPP
|
|
#define OPENCV_GAPI_INFER_BINDINGS_OV_HPP
|
|
|
|
#include <opencv2/gapi/util/any.hpp>
|
|
#include "opencv2/gapi/own/exports.hpp" // GAPI_EXPORTS
|
|
#include <opencv2/gapi/gkernel.hpp> // GKernelPackage
|
|
#include <opencv2/gapi/infer/ov.hpp> // Params
|
|
|
|
#include <string>
|
|
|
|
namespace cv {
|
|
namespace gapi {
|
|
namespace ov {
|
|
|
|
// NB: Used by python wrapper
|
|
// This class can be marked as SIMPLE, because it's implemented as pimpl
|
|
class GAPI_EXPORTS_W_SIMPLE PyParams {
|
|
public:
|
|
GAPI_WRAP
|
|
PyParams() = default;
|
|
|
|
GAPI_WRAP
|
|
PyParams(const std::string &tag,
|
|
const std::string &model_path,
|
|
const std::string &bin_path,
|
|
const std::string &device);
|
|
|
|
GAPI_WRAP
|
|
PyParams(const std::string &tag,
|
|
const std::string &blob_path,
|
|
const std::string &device);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgPluginConfig(
|
|
const std::map<std::string, std::string> &config);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgInputTensorLayout(std::string tensor_layout);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgInputTensorLayout(
|
|
std::map<std::string, std::string> layout_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgInputModelLayout(std::string tensor_layout);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgInputModelLayout(
|
|
std::map<std::string, std::string> layout_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgOutputTensorLayout(std::string tensor_layout);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgOutputTensorLayout(
|
|
std::map<std::string, std::string> layout_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgOutputModelLayout(std::string tensor_layout);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgOutputModelLayout(
|
|
std::map<std::string, std::string> layout_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgOutputTensorPrecision(int precision);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgOutputTensorPrecision(
|
|
std::map<std::string, int> precision_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgReshape(std::vector<size_t> new_shape);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgReshape(
|
|
std::map<std::string, std::vector<size_t>> new_shape_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgNumRequests(const size_t nireq);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgMean(std::vector<float> mean_values);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgMean(
|
|
std::map<std::string, std::vector<float>> mean_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgScale(std::vector<float> scale_values);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgScale(
|
|
std::map<std::string, std::vector<float>> scale_map);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgResize(int interpolation);
|
|
|
|
GAPI_WRAP
|
|
PyParams& cfgResize(std::map<std::string, int> interpolation);
|
|
|
|
GBackend backend() const;
|
|
std::string tag() const;
|
|
cv::util::any params() const;
|
|
|
|
private:
|
|
std::shared_ptr<Params<cv::gapi::Generic>> m_priv;
|
|
};
|
|
|
|
GAPI_EXPORTS_W PyParams params(const std::string &tag,
|
|
const std::string &model_path,
|
|
const std::string &weights,
|
|
const std::string &device);
|
|
|
|
GAPI_EXPORTS_W PyParams params(const std::string &tag,
|
|
const std::string &bin_path,
|
|
const std::string &device);
|
|
} // namespace ov
|
|
} // namespace gapi
|
|
} // namespace cv
|
|
|
|
#endif // OPENCV_GAPI_INFER_BINDINGS_OV_HPP
|