OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::_OutputArray 类参考

此类型与 InputArray 非常相似,不同之处在于它用于输入/输出和输出函数参数。更多…

#include <opencv2/core/mat.hpp>

cv::_OutputArray 的协作图

公共类型

枚举 DepthMask {
  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 的公共类型
枚举 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
}
 

公共成员函数

 _OutputArray ()
 
模板<typename _Tp >
 _OutputArray (_Tp *vec, int n)
 
模板<typename _Tp >
 _OutputArray (const _Tp *vec, int n)
 
 _OutputArray (const cuda::GpuMat &d_mat)
 
 _OutputArray (const cuda::HostMem &cuda_mem)
 
模板<typename _Tp >
 _OutputArray (const cudev::GpuMat_< _Tp > &m)
 
 _OutputArray (const Mat &m)
 
模板<typename _Tp >
 _OutputArray (const Mat_< _Tp > &m)
 
模板<typename _Tp , int m, int n>
 _OutputArray (const Matx< _Tp, m, n > &matx)
 
 _OutputArray (const ogl::Buffer &buf)
 
模板<typename _Tp , std::size_t _Nm>
 _OutputArray (const std::array< _Tp, _Nm > &arr)
 
模板<std::size_t _Nm>
 _OutputArray (const std::array< Mat, _Nm > &arr)
 
模板<typename _Tp >
 _OutputArray (const std::vector< _Tp > &vec)
 
 _OutputArray (const std::vector< cuda::GpuMat > &d_mat)
 
 _OutputArray (const std::vector< Mat > &vec)
 
模板<typename _Tp >
 _OutputArray (const std::vector< Mat_< _Tp > > &vec)
 
模板<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::HostMem &cuda_mem)
 
模板<typename _Tp >
 _OutputArray (cudev::GpuMat_< _Tp > &m)
 
 _OutputArray (int _flags, void *_obj)
 
 _OutputArray (Mat &m)
 
模板<typename _Tp >
 _OutputArray (Mat_< _Tp > &m)
 
模板<typename _Tp , int m, int n>
 _OutputArray (Matx< _Tp, m, n > &matx)
 
 _OutputArray (ogl::Buffer &buf)
 
模板<typename _Tp , std::size_t _Nm>
 _OutputArray (std::array< _Tp, _Nm > &arr)
 
模板<std::size_t _Nm>
 _OutputArray (std::array< Mat, _Nm > &arr)
 
模板<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)
 
模板<typename _Tp >
 _OutputArray (std::vector< Mat_< _Tp > > &vec)
 
模板<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::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
 
void release () const
 
void setTo (const _InputArray &value, const _InputArray &mask=_InputArray()) const
 
- 继承自 cv::_InputArray 的公共成员函数
 _InputArray ()
 
模板<typename _Tp >
 _InputArray (const _Tp *vec, int n)
 
 _InputArray (const cuda::GpuMat &d_mat)
 
 _InputArray (const cuda::HostMem &cuda_mem)
 
模板<typename _Tp >
 _InputArray (const cudev::GpuMat_< _Tp > &m)
 
 _InputArray (const double &val)
 
 _InputArray (const Mat &m)
 
模板<typename _Tp >
 _InputArray (const Mat_< _Tp > &m)
 
 _InputArray (const MatExpr &expr)
 
模板<typename _Tp , int m, int n>
 _InputArray (const Matx< _Tp, m, n > &matx)
 
 _InputArray (const ogl::Buffer &buf)
 
模板<typename _Tp , std::size_t _Nm>
 _InputArray (const std::array< _Tp, _Nm > &arr)
 
模板<std::size_t _Nm>
 _InputArray (const std::array< Mat, _Nm > &arr)
 
模板<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)
 
模板<typename _Tp >
 _InputArray (const std::vector< Mat_< _Tp > > &vec)
 
模板<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
 
int getFlags () const
 
cuda::GpuMat getGpuMat () 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 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
 

静态公有成员函数

模板<typename _Tp , std::size_t _Nm>
static _OutputArray rawOut (std::array< _Tp, _Nm > &arr)
 
模板<typename _Tp >
static _OutputArray rawOut (std::vector< _Tp > &vec)
 
- 继承自 cv::_InputArray 的静态公有成员函数
模板<typename _Tp , std::size_t _Nm>
static _InputArray rawIn (const std::array< _Tp, _Nm > &arr)
 
模板<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:297
InputOutputArray InputOutputArrayOfArrays
定义 mat.hpp:448
OutputArray OutputArrayOfArrays
定义 mat.hpp:446
const _InputOutputArray & InputOutputArray
定义 mat.hpp:447

成员枚举文档

◆ DepthMask

枚举器
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/38]

cv::_OutputArray::_OutputArray ( )

◆ _OutputArray() [2/38]

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

◆ _OutputArray() [3/38]

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

◆ _OutputArray() [4/38]

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

◆ _OutputArray() [5/38]

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

◆ _OutputArray() [6/38]

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

◆ _OutputArray() [7/38]

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

◆ _OutputArray() [8/38]

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

◆ _OutputArray() [9/38]

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

◆ _OutputArray() [10/38]

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

◆ _OutputArray() [11/38]

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

◆ _OutputArray() [12/38]

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

◆ _OutputArray() [13/38]

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

◆ _OutputArray() [14/38]

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

◆ _OutputArray() [15/38]

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

◆ _OutputArray() [16/38]

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

◆ _OutputArray() [17/38]

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

◆ _OutputArray() [18/38]

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

◆ _OutputArray() [19/38]

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

◆ _OutputArray() [20/38]

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

◆ _OutputArray() [21/38]

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

◆ _OutputArray() [22/38]

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

◆ _OutputArray() [23/38]

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

◆ _OutputArray() [24/38]

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

◆ _OutputArray() [25/38]

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

◆ _OutputArray() [26/38]

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

◆ _OutputArray() [27/38]

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

◆ _OutputArray() [28/38]

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

◆ _OutputArray() [29/38]

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

◆ _OutputArray() [30/38]

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

◆ _OutputArray() [31/38]

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

◆ _OutputArray() [32/38]

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

◆ _OutputArray() [33/38]

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

◆ _OutputArray() [34/38]

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

◆ _OutputArray() [35/38]

模板<typename _Tp , std::size_t _Nm>
cv::_OutputArray::_OutputArray ( std::array< _Tp, _Nm > & arr)

◆ _OutputArray() [36/38]

模板<typename _Tp , std::size_t _Nm>
cv::_OutputArray::_OutputArray ( const std::array< _Tp, _Nm > & arr)

◆ _OutputArray() [37/38]

模板<std::size_t _Nm>
cv::_OutputArray::_OutputArray ( std::array< Mat, _Nm > & arr)

◆ _OutputArray() [38/38]

模板<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

◆ 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]

模板<typename _Tp , std::size_t _Nm>
static _OutputArray cv::_OutputArray::rawOut ( std::array< _Tp, _Nm > & arr)
static

◆ rawOut() [2/2]

模板<typename _Tp >
static _OutputArray cv::_OutputArray::rawOut ( std::vector< _Tp > & vec)
static

◆ release()

void cv::_OutputArray::release ( ) const

◆ setTo()

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

此类的文档是从以下文件生成的: