Template Class InterpolationWrap< BW, NVCV_INTERP_AREA >

Inheritance Relationships

Base Type

Class Documentation

template<class BW>
class InterpolationWrap<BW, NVCV_INTERP_AREA> : public nvcv::cuda::detail::InterpolationWrapImpl<BW, NVCV_INTERP_AREA>

Interpolation wrapper class specialized for NVCV_INTERP_AREA.

Template Parameters:

BW – It is a BorderWrap class with any dimension and type.

Public Functions

InterpolationWrap() = default
inline explicit __host__ InterpolationWrap(const TensorDataStridedCuda &tensor, ValueType borderValue = {}, float scaleX = {}, float scaleY = {})

Constructs an InterpolationWrap by wrapping a tensor.

Parameters:
  • tensor[in] A TensorDataStridedCuda object to be wrapped.

  • borderValue[in] The border value.

  • scaleX[in] The scale X value for Area interpolation.

  • scaleY[in] The scale Y value for Area interpolation.

template<typename... Args> inline explicit __host__ __device__ InterpolationWrap (TensorWrapper tensorWrap, ValueType borderValue, float scaleX, float scaleY, Args... tensorShape)

Constructs an InterpolationWrap by wrapping a tensorWrap.

Parameters:
  • tensorWrap[in] A TensorWrap object to be wrapped.

  • borderValue[in] The border value.

  • scaleX[in] The scale X value for Area interpolation.

  • scaleY[in] The scale Y value for Area interpolation.

inline explicit __host__ __device__ InterpolationWrap (BorderWrapper borderWrap, float scaleX={}, float scaleY={})

Constructs an InterpolationWrap by wrapping a borderWrap.

Parameters:
  • borderWrap[in] A BorderWrap object to be wrapped.

  • scaleX[in] The scale X value for Area interpolation.

  • scaleY[in] The scale Y value for Area interpolation.

inline __host__ __device__ float scaleX () const
inline __host__ __device__ float scaleY () const
inline __host__ __device__ bool isIntegerArea () const