OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
infer.hpp File Reference
#include <functional>
#include <string>
#include <utility>
#include <type_traits>
#include <opencv2/gapi/util/util.hpp>
#include <opencv2/gapi/util/any.hpp>
#include <opencv2/gapi/gkernel.hpp>
#include <opencv2/gapi/garg.hpp>
#include <opencv2/gapi/gcommon.hpp>
#include <opencv2/gapi/gmetaarg.hpp>
Include dependency graph for infer.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  cv::detail::accepted_infer_types< T >
 
struct  cv::detail::CompileArgTag< cv::gapi::GNetPackage >
 
struct  cv::gapi::Generic
 Generic network type: input and output layers are configured dynamically at runtime. More...
 
struct  cv::GInfer< Net, Args >
 
struct  cv::GInferBase
 
class  cv::detail::GInferInputsTyped< Ts >
 
struct  cv::GInferList< Net, Args >
 
struct  cv::GInferList2< Net, T, Args >
 
struct  cv::GInferList2Base
 
struct  cv::GInferListBase
 
class  cv::detail::GInferOutputsTyped< OutT >
 
struct  cv::GInferROI< Net, T >
 
struct  cv::GInferROIBase
 
struct  cv::gapi::GNetPackage
 A container class for network configurations. Similar to GKernelPackage. Use cv::gapi::networks() to construct this object. More...
 
class  cv::GNetworkType< K, std::function< R(Args...)> >
 
class  cv::GNetworkType< K, std::function< std::tuple< R... >(Args...)> >
 
struct  cv::InferAPI< Net, Ts >
 
struct  cv::InferAPIList< Net, Ts >
 
struct  cv::InferAPIList2< Net, T, Ts >
 
struct  cv::InferAPIRoi< Net, T >
 
struct  cv::detail::InferROITraits< GInferListBase >
 
struct  cv::detail::InferROITraits< GInferROIBase >
 
struct  cv::detail::InOutInfo
 
struct  cv::detail::valid_infer2_types< std::tuple< Ns... >, std::tuple<> >
 
struct  cv::detail::valid_infer2_types< std::tuple<>, std::tuple< Ts... > >
 

Namespaces

namespace  cv
 
namespace  cv::detail
 
namespace  cv::gapi
 

Macros

#define G_API_NET(Class, API, Tag)
 

Typedefs

using cv::GInferInputs = cv::detail::GInferInputsTyped<cv::GMat, cv::GFrame>
 G-API object used to collect network inputs.
 
using cv::GInferListInputs = cv::detail::GInferInputsTyped<cv::GArray<cv::GMat>, cv::GArray<cv::Rect>>
 G-API object used to collect the list of network inputs.
 
using cv::GInferListOutputs = cv::detail::GInferOutputsTyped<cv::GArray<cv::GMat>>
 G-API object used to collect the list of network outputs.
 
using cv::GInferOutputs = cv::detail::GInferOutputsTyped<cv::GMat>
 G-API object used to collect network outputs.
 
template<typename... Ts>
using cv::detail::valid_infer_types = all_satisfy<accepted_infer_types, Ts...>
 

Functions

template<typename Net , typename... Args>
Net::Result cv::gapi::infer (Args &&... args)
 Calculates response for the specified network (template parameter) given the input data.
 
template<typename T = Generic>
cv::GInferListOutputs cv::gapi::infer (const std::string &tag, const cv::GArray< cv::Rect > &rois, const cv::GInferInputs &inputs)
 Calculates responses for the specified network for every region in the source image.
 
template<typename T = Generic>
cv::GInferOutputs cv::gapi::infer (const std::string &tag, const cv::GInferInputs &inputs)
 Calculates response for generic network.
 
template<typename T = Generic>
cv::GInferOutputs cv::gapi::infer (const std::string &tag, const cv::GOpaque< cv::Rect > &roi, const cv::GInferInputs &inputs)
 Calculates response for the generic network for the specified region in the source image. Currently expects a single-input network only.
 
template<typename Net , typename... Args>
Net::ResultL cv::gapi::infer (cv::GArray< cv::Rect > roi, Args &&... args)
 Calculates responses for the specified network (template parameter) for every region in the source image.
 
template<typename Net , typename T >
Net::Result cv::gapi::infer (cv::GOpaque< cv::Rect > roi, T in)
 Calculates response for the specified network (template parameter) for the specified region in the source image. Currently expects a single-input network only.
 
template<typename T = Generic, typename Input >
std::enable_if< cv::detail::accepted_infer_types< Input >::value, cv::GInferListOutputs >::type cv::gapi::infer2 (const std::string &tag, const Input &in, const cv::GInferListInputs &inputs)
 Calculates responses for the specified network for every region in the source image, extended version.
 
template<typename Net , typename T , typename... Args>
Net::ResultL cv::gapi::infer2 (T image, cv::GArray< Args >... args)
 Calculates responses for the specified network (template parameter) for every region in the source image, extended version.
 
template<typename InferType >
InferROITraits< InferType >::outType cv::detail::inferGenericROI (const std::string &tag, const typename InferROITraits< InferType >::inType &in, const cv::GInferInputs &inputs)
 
template<typename InferT >
std::shared_ptr< cv::GCallcv::detail::makeCall (const std::string &tag, std::vector< cv::GArg > &&args, std::vector< std::string > &&names, cv::GKinds &&kinds)
 
template<typename... Args>
cv::gapi::GNetPackage cv::gapi::networks (Args &&... args)
 
cv::gapi::GNetPackagecv::gapi::operator+= (cv::gapi::GNetPackage &lhs, const cv::gapi::GNetPackage &rhs)
 
template<typename T >
gapi::GNetParam cv::detail::strip (T &&t)
 
void cv::detail::unpackBlobs (const cv::GInferInputs::Map &blobs, std::vector< cv::GArg > &args, std::vector< std::string > &names, cv::GKinds &kinds)
 

Macro Definition Documentation

◆ G_API_NET

#define G_API_NET ( Class,
API,
Tag )
Value:
struct Class final: public cv::GNetworkType<Class, std::function API> { \
static constexpr const char * tag() { return Tag; } \
}
Definition infer.hpp:28