OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
cv::_OutputArray 类参考

此类型与 InputArray 非常相似,但它用于输入/输出和输出函数参数。更多...

#include <opencv2/core/mat.hpp>

cv::_OutputArray 协作图

公开类型

enum  深度掩码 {
  DEPTH_MASK_8U = 1 << CV_8U ,
  DEPTH_MASK_8S = 1 << CV_8S ,
  DEPTH_MASK_16U = 1 << CV_16U ,
  DEPTH_MASK_16S = 1 << CV_16S ,
  DEPTH_MASK_32S = 1 << CV_32S ,
  DEPTH_MASK_32F = 1 << CV_32F ,
  DEPTH_MASK_64F = 1 << CV_64F ,
  DEPTH_MASK_16F = 1 << CV_16F ,
  DEPTH_MASK_ALL = (DEPTH_MASK_64F<<1)-1 ,
  DEPTH_MASK_ALL_BUT_8S = DEPTH_MASK_ALL & ~DEPTH_MASK_8S ,
  DEPTH_MASK_ALL_16F = (DEPTH_MASK_16F<<1)-1 ,
  DEPTH_MASK_FLT = DEPTH_MASK_32F + DEPTH_MASK_64F
}
 
- 从 cv::_InputArray 继承的公共类型
enum  KindFlag {
  KIND_SHIFT = 16 ,
  FIXED_TYPE = 0x8000 << KIND_SHIFT ,
  FIXED_SIZE = 0x4000 << KIND_SHIFT ,
  KIND_MASK = 31 << KIND_SHIFT ,
  NONE = 0 << KIND_SHIFT ,
  MAT = 1 << KIND_SHIFT ,
  MATX = 2 << KIND_SHIFT ,
  STD_VECTOR = 3 << KIND_SHIFT ,
  STD_VECTOR_VECTOR = 4 << KIND_SHIFT ,
  STD_VECTOR_MAT = 5 << KIND_SHIFT ,
  EXPR = 6 << KIND_SHIFT ,
  OPENGL_BUFFER = 7 << KIND_SHIFT ,
  CUDA_HOST_MEM = 8 << KIND_SHIFT ,
  CUDA_GPU_MAT = 9 << KIND_SHIFT ,
  UMAT =10 << KIND_SHIFT ,
  STD_VECTOR_UMAT =11 << KIND_SHIFT ,
  STD_BOOL_VECTOR =12 << KIND_SHIFT ,
  STD_VECTOR_CUDA_GPU_MAT = 13 << KIND_SHIFT ,
  STD_ARRAY =14 << KIND_SHIFT ,
  STD_ARRAY_MAT =15 << KIND_SHIFT ,
  CUDA_GPU_MATND =16 << KIND_SHIFT
}
 

公开成员函数

 _OutputArray ()
 
template<typename _Tp >
 _OutputArray (_Tp *vec, int n)
 
template<typename _Tp >
 _OutputArray (const _Tp *vec, int n)
 
 _OutputArray (const cuda::GpuMat &d_mat)
 
 _OutputArray (const cuda::GpuMatND &d_mat)
 
 _OutputArray (const cuda::HostMem &cuda_mem)
 
template<typename _Tp >
 _OutputArray (const cudev::GpuMat_< _Tp > &m)
 
 _OutputArray (const Mat &m)
 
template<typename _Tp >
 _OutputArray (const Mat_< _Tp > &m)
 
template<typename _Tp , int m, int n>
 _OutputArray (const Matx< _Tp, m, n > &matx)
 
 _OutputArray (const ogl::Buffer &buf)
 
template<typename _Tp , std::size_t _Nm>
 _OutputArray (const std::array< _Tp, _Nm > &arr)
 
template<std::size_t _Nm>
 _OutputArray (const std::array< Mat, _Nm > &arr)
 
template<typename _Tp >
 _OutputArray (const std::vector< _Tp > &vec)
 
 _OutputArray (const std::vector< cuda::GpuMat > &d_mat)
 
 _OutputArray (const std::vector< Mat > &vec)
 
template<typename _Tp >
 _OutputArray (const std::vector< Mat_< _Tp > > &vec)
 
template<typename _Tp >
 _OutputArray (const std::vector< std::vector< _Tp > > &vec)
 
 _OutputArray (const std::vector< UMat > &vec)
 
 _OutputArray (const UMat &m)
 
 _OutputArray (cuda::GpuMat &d_mat)
 
 _OutputArray (cuda::GpuMatND &d_mat)
 
 _OutputArray (cuda::HostMem &cuda_mem)
 
template<typename _Tp >
 _OutputArray (cudev::GpuMat_< _Tp > &m)
 
 _OutputArray (int _flags, void *_obj)
 
 _OutputArray (Mat &m)
 
template<typename _Tp >
 _OutputArray (Mat_< _Tp > &m)
 
template<typename _Tp , int m, int n>
 _OutputArray (Matx< _Tp, m, n > &matx)
 
 _OutputArray (ogl::Buffer &buf)
 
template<typename _Tp , std::size_t _Nm>
 _OutputArray (std::array< _Tp, _Nm > &arr)
 
template<std::size_t _Nm>
 _OutputArray (std::array< Mat, _Nm > &arr)
 
template<typename _Tp >
 _OutputArray (std::vector< _Tp > &vec)
 
 _OutputArray (std::vector< bool > &vec)=delete
 
 _OutputArray (std::vector< cuda::GpuMat > &d_mat)
 
 _OutputArray (std::vector< Mat > &vec)
 
template<typename _Tp >
 _OutputArray (std::vector< Mat_< _Tp > > &vec)
 
template<typename _Tp >
 _OutputArray (std::vector< std::vector< _Tp > > &vec)
 
 _OutputArray (std::vector< std::vector< bool > > &)=delete
 
 _OutputArray (std::vector< UMat > &vec)
 
 _OutputArray (UMat &m)
 
void assign (const Mat &m) const
 
void assign (const std::vector< Mat > &v) const
 
void assign (const std::vector< UMat > &v) const
 
void assign (const UMat &u) const
 
void clear () const
 
void create (int dims, const int *size, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast< _OutputArray::DepthMask >(0)) const
 
void create (int rows, int cols, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast< _OutputArray::DepthMask >(0)) const
 
void create (Size sz, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast< _OutputArray::DepthMask >(0)) const
 
void createSameSize (const _InputArray &arr, int mtype) const
 
bool fixedSize () const
 
bool fixedType () const
 
cuda::GpuMatNDgetGpuMatNDRef () const
 
cuda::GpuMatgetGpuMatRef () const
 
std::vector< cuda::GpuMat > & getGpuMatVecRef () const
 
cuda::HostMemgetHostMemRef () const
 
MatgetMatRef (int i=-1) const
 
ogl::BuffergetOGlBufferRef () const
 
UMatgetUMatRef (int i=-1) const
 
void move (Mat &m) const
 
void move (UMat &u) const
 
bool needed () const
 
Mat reinterpret (int type) const
 
void release () const
 
void setTo (const _InputArray &value, const _InputArray &mask=_InputArray()) const
 
- 从 cv::_InputArray 继承的公共成员函数
 _InputArray ()
 
template<typename _Tp >
 _InputArray (const _Tp *vec, int n)
 
 _InputArray (const cuda::GpuMat &d_mat)
 
 _InputArray (const cuda::GpuMatND &d_mat)
 
 _InputArray (const cuda::HostMem &cuda_mem)
 
template<typename _Tp >
 _InputArray (const cudev::GpuMat_< _Tp > &m)
 
 _InputArray (const double &val)
 
 _InputArray (const Mat &m)
 
template<typename _Tp >
 _InputArray (const Mat_< _Tp > &m)
 
 _InputArray (const MatExpr &expr)
 
template<typename _Tp , int m, int n>
 _InputArray (const Matx< _Tp, m, n > &matx)
 
 _InputArray (const ogl::Buffer &buf)
 
template<typename _Tp , std::size_t _Nm>
 _InputArray (const std::array< _Tp, _Nm > &arr)
 
template<std::size_t _Nm>
 _InputArray (const std::array< Mat, _Nm > &arr)
 
template<typename _Tp >
 _InputArray (const std::vector< _Tp > &vec)
 
 _InputArray (const std::vector< bool > &vec)
 
 _InputArray (const std::vector< cuda::GpuMat > &d_mat_array)
 
 _InputArray (const std::vector< Mat > &vec)
 
template<typename _Tp >
 _InputArray (const std::vector< Mat_< _Tp > > &vec)
 
template<typename _Tp >
 _InputArray (const std::vector< std::vector< _Tp > > &vec)
 
 _InputArray (const std::vector< std::vector< bool > > &)=delete
 
 _InputArray (const std::vector< UMat > &umv)
 
 _InputArray (const UMat &um)
 
 _InputArray (int _flags, void *_obj)
 
 ~_InputArray ()
 
int channels (int i=-1) const
 
int cols (int i=-1) const
 
void copyTo (const _OutputArray &arr) const
 
void copyTo (const _OutputArray &arr, const _InputArray &mask) const
 
int depth (int i=-1) const
 
int dims (int i=-1) const
 
bool empty () const
 
bool empty (int i) const
 
int getFlags () const
 
cuda::GpuMat getGpuMat () const
 
cuda::GpuMatND getGpuMatND () const
 
void getGpuMatVector (std::vector< cuda::GpuMat > &gpumv) const
 
Mat getMat (int idx=-1) const
 
Mat getMat_ (int idx=-1) const
 
void getMatVector (std::vector< Mat > &mv) const
 
void * getObj () const
 
ogl::Buffer getOGlBuffer () const
 
Size getSz () const
 
UMat getUMat (int idx=-1) const
 
void getUMatVector (std::vector< UMat > &umv) const
 
bool isContinuous (int i=-1) const
 
bool isGpuMat () const
 
bool isGpuMatND () const
 
bool isGpuMatVector () const
 
bool isMat () const
 
bool isMatVector () const
 
bool isMatx () const
 
bool isSubmatrix (int i=-1) const
 
bool isUMat () const
 
bool isUMatVector () const
 
bool isVector () const
 
_InputArray::KindFlag kind () const
 
size_t offset (int i=-1) const
 
int rows (int i=-1) const
 
bool sameSize (const _InputArray &arr) const
 
Size size (int i=-1) const
 
int sizend (int *sz, int i=-1) const
 
size_t step (int i=-1) const
 
size_t total (int i=-1) const
 
int type (int i=-1) const
 

静态公开成员函数

template<typename _Tp , std::size_t _Nm>
static _OutputArray rawOut (std::array< _Tp, _Nm > &arr)
 
template<typename _Tp >
static _OutputArray rawOut (std::vector< _Tp > &vec)
 
- 从 cv::_InputArray 继承的静态公共成员函数
template<typename _Tp , std::size_t _Nm>
static _InputArray rawIn (const std::array< _Tp, _Nm > &arr)
 
template<typename _Tp >
static _InputArray rawIn (const std::vector< _Tp > &vec)
 

更多继承的成员

- 从 cv::_InputArray 继承的保护成员函数
void init (int _flags, const void *_obj)
 
void init (int _flags, const void *_obj, Size _sz)
 
- 从 cv::_InputArray 继承的保护属性
int flags (标志)
 
void * obj
 
Size sz
 

详细说明

此类型与 InputArray 非常相似,但它用于输入/输出和输出函数参数。

与 InputArray 一样,OpenCV 用户无需关心 OutputArray,他们只需将 Matvector<T> 等传递给函数。与 InputArray 的限制相同:此处也适用 不要显式创建 OutputArray 实例

如果您希望函数具有多态性(即接受不同的数组作为输出参数),这也不是非常困难。请以上面的示例作为参考。请注意,需要在 _OutputArray::getMat() 之前调用 _OutputArray::create()。这样可以保证输出数组已正确分配。

可选输出参数。如果您不需要计算并返回某个输出数组,请传递 cv::noArray(),就像您在可选输入数组的情况下那样。在实现级别,使用 _OutputArray::needed() 检查是否需要计算某个输出数组。

OutputArray 有几个同义词,用于辅助自动 Python/Java/... 包装器生成器

此类型与 InputArray 非常相似,不同之处在于它用于输入/输出和输出函数参数...
定义 mat.hpp:302
InputOutputArray InputOutputArrayOfArrays
定义 mat.hpp:459
OutputArray OutputArrayOfArrays
定义 mat.hpp:457
const _InputOutputArray & InputOutputArray
定义 mat.hpp:458

成员枚举文档

◆ 深度掩码

枚举值 (Enumerator)
DEPTH_MASK_8U 
DEPTH_MASK_8S 
DEPTH_MASK_16U 
DEPTH_MASK_16S 
DEPTH_MASK_32S 
DEPTH_MASK_32F 
DEPTH_MASK_64F 
DEPTH_MASK_16F 
DEPTH_MASK_ALL 
DEPTH_MASK_ALL_BUT_8S 
DEPTH_MASK_ALL_16F 
DEPTH_MASK_FLT 

构造函数与析构函数说明

◆ _OutputArray() [1/40]

cv::_OutputArray::_OutputArray ( )

◆ _OutputArray() [2/40]

cv::_OutputArray::_OutputArray ( int _flags,
void * _obj )

◆ _OutputArray() [3/40]

cv::_OutputArray::_OutputArray ( Mat & m)

◆ _OutputArray() [4/40]

cv::_OutputArray::_OutputArray ( std::vector< Mat > & vec)

◆ _OutputArray() [5/40]

cv::_OutputArray::_OutputArray ( cuda::GpuMat & d_mat)

◆ _OutputArray() [6/40]

cv::_OutputArray::_OutputArray ( std::vector< cuda::GpuMat > & d_mat)

◆ _OutputArray() [7/40]

cv::_OutputArray::_OutputArray ( cuda::GpuMatND & d_mat)

◆ _OutputArray() [8/40]

cv::_OutputArray::_OutputArray ( ogl::Buffer & buf)

◆ _OutputArray() [9/40]

cv::_OutputArray::_OutputArray ( cuda::HostMem & cuda_mem)

◆ _OutputArray() [10/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( cudev::GpuMat_< _Tp > & m)

◆ _OutputArray() [11/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( std::vector< _Tp > & vec)

◆ _OutputArray() [12/40]

cv::_OutputArray::_OutputArray ( std::vector< bool > & vec)
delete

◆ _OutputArray() [13/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( std::vector< std::vector< _Tp > > & vec)

◆ _OutputArray() [14/40]

cv::_OutputArray::_OutputArray ( std::vector< std::vector< bool > > & )
delete

◆ _OutputArray() [15/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( std::vector< Mat_< _Tp > > & vec)

◆ _OutputArray() [16/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( Mat_< _Tp > & m)

◆ _OutputArray() [17/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( _Tp * vec,
int n )

◆ _OutputArray() [18/40]

template<typename _Tp , int m, int n>
cv::_OutputArray::_OutputArray ( Matx< _Tp, m, n > & matx)

◆ _OutputArray() [19/40]

cv::_OutputArray::_OutputArray ( UMat & m)

◆ _OutputArray() [20/40]

cv::_OutputArray::_OutputArray ( std::vector< UMat > & vec)

◆ _OutputArray() [21/40]

cv::_OutputArray::_OutputArray ( const Mat & m)

◆ _OutputArray() [22/40]

cv::_OutputArray::_OutputArray ( const std::vector< Mat > & vec)

◆ _OutputArray() [23/40]

cv::_OutputArray::_OutputArray ( const cuda::GpuMat & d_mat)

◆ _OutputArray() [24/40]

cv::_OutputArray::_OutputArray ( const std::vector< cuda::GpuMat > & d_mat)

◆ _OutputArray() [25/40]

cv::_OutputArray::_OutputArray ( const cuda::GpuMatND & d_mat)

◆ _OutputArray() [26/40]

cv::_OutputArray::_OutputArray ( const ogl::Buffer & buf)

◆ _OutputArray() [27/40]

cv::_OutputArray::_OutputArray ( const cuda::HostMem & cuda_mem)

◆ _OutputArray() [28/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( const cudev::GpuMat_< _Tp > & m)

◆ _OutputArray() [29/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( const std::vector< _Tp > & vec)

◆ _OutputArray() [30/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( const std::vector< std::vector< _Tp > > & vec)

◆ _OutputArray() [31/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( const std::vector< Mat_< _Tp > > & vec)

◆ _OutputArray() [32/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( const Mat_< _Tp > & m)

◆ _OutputArray() [33/40]

template<typename _Tp >
cv::_OutputArray::_OutputArray ( const _Tp * vec,
int n )

◆ _OutputArray() [34/40]

template<typename _Tp , int m, int n>
cv::_OutputArray::_OutputArray ( const Matx< _Tp, m, n > & matx)

◆ _OutputArray() [35/40]

cv::_OutputArray::_OutputArray ( const UMat & m)

◆ _OutputArray() [36/40]

cv::_OutputArray::_OutputArray ( const std::vector< UMat > & vec)

◆ _OutputArray() [37/40]

template<typename _Tp , std::size_t _Nm>
cv::_OutputArray::_OutputArray ( std::array< _Tp, _Nm > & arr (数组))

◆ _OutputArray() [38/40]

template<typename _Tp , std::size_t _Nm>
cv::_OutputArray::_OutputArray ( const std::array< _Tp, _Nm > & arr (数组))

◆ _OutputArray() [39/40]

template<std::size_t _Nm>
cv::_OutputArray::_OutputArray ( std::array< Mat, _Nm > & arr (数组))

◆ _OutputArray() [40/40]

template<std::size_t _Nm>
cv::_OutputArray::_OutputArray ( const std::array< Mat, _Nm > & arr (数组))

成员函数说明

◆ assign() [1/4]

void cv::_OutputArray::assign ( const Mat & m) const

◆ assign() [2/4]

void cv::_OutputArray::assign ( const std::vector< Mat > & v) const

◆ assign() [3/4]

void cv::_OutputArray::assign ( const std::vector< UMat > & v) const

◆ assign() [4/4]

void cv::_OutputArray::assign ( const UMat & u) const

◆ clear()

void cv::_OutputArray::clear ( ) const

◆ create() [1/3]

void cv::_OutputArray::create ( int dims (维度),
const int * size (大小),
int type,
int i = -1,
bool allowTransposed = false,
_OutputArray::DepthMask fixedDepthMask = static_cast< _OutputArray::DepthMask >(0) ) const

◆ create() [2/3]

void cv::_OutputArray::create ( int rows (行数),
int cols (列数),
int type,
int i = -1,
bool allowTransposed = false,
_OutputArray::DepthMask fixedDepthMask = static_cast< _OutputArray::DepthMask >(0) ) const

◆ create() [3/3]

void cv::_OutputArray::create ( Size sz,
int type,
int i = -1,
bool allowTransposed = false,
_OutputArray::DepthMask fixedDepthMask = static_cast< _OutputArray::DepthMask >(0) ) const

◆ createSameSize()

void cv::_OutputArray::createSameSize ( const _InputArray & arr (数组),
int mtype ) const

◆ fixedSize()

bool cv::_OutputArray::fixedSize ( ) const

◆ fixedType()

bool cv::_OutputArray::fixedType ( ) const

◆ getGpuMatNDRef()

cuda::GpuMatND & cv::_OutputArray::getGpuMatNDRef ( ) const

◆ getGpuMatRef()

cuda::GpuMat & cv::_OutputArray::getGpuMatRef ( ) const

◆ getGpuMatVecRef()

std::vector< cuda::GpuMat > & cv::_OutputArray::getGpuMatVecRef ( ) const

◆ getHostMemRef()

cuda::HostMem & cv::_OutputArray::getHostMemRef ( ) const

◆ getMatRef()

Mat & cv::_OutputArray::getMatRef ( int i = -1) const

◆ getOGlBufferRef()

ogl::Buffer & cv::_OutputArray::getOGlBufferRef ( ) const

◆ getUMatRef()

UMat & cv::_OutputArray::getUMatRef ( int i = -1) const

◆ move() [1/2]

void cv::_OutputArray::move ( Mat & m) const

◆ move() [2/2]

void cv::_OutputArray::move ( UMat & u) const

◆ needed()

bool cv::_OutputArray::needed ( ) const

◆ rawOut() [1/2]

template<typename _Tp , std::size_t _Nm>
static _OutputArray cv::_OutputArray::rawOut ( std::array< _Tp, _Nm > & arr (数组))
static (静态)

◆ rawOut() [2/2]

template<typename _Tp >
static _OutputArray cv::_OutputArray::rawOut ( std::vector< _Tp > & vec)
static (静态)

◆ reinterpret()

Mat cv::_OutputArray::reinterpret ( int type) const

◆ release()

void cv::_OutputArray::release ( ) const

◆ setTo()

void cv::_OutputArray::setTo ( const _InputArray & value (值),
const _InputArray & mask = _InputArray() ) const

该类的文档由以下文件生成: