OpenCV 4.11.0
开源计算机视觉
|
此类型与 InputArray 非常相似,不同之处在于它用于输入/输出和输出函数参数。更多…
#include <opencv2/core/mat.hpp>
公共类型 | |
枚举 | 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::GpuMat & | getGpuMatRef () const |
std::vector< cuda::GpuMat > & | getGpuMatVecRef () const |
cuda::HostMem & | getHostMemRef () const |
Mat & | getMatRef (int i=-1) const |
ogl::Buffer & | getOGlBufferRef () const |
UMat & | getUMatRef (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,他们只需将Mat
、vector<T>
等传递给函数即可。与InputArray
相同的限制:*不要显式创建 OutputArray 实例* 也适用于此处。
如果要使您的函数多态(即接受不同的数组作为输出参数),这也不难。以上述示例为参考。请注意,在调用 _OutputArray::getMat() 之前,需要调用 _OutputArray::create()。这样可以保证输出数组正确分配。
可选输出参数。如果您不需要计算某些输出数组并将其返回给您,则传递 cv::noArray(),就像处理可选输入数组的情况一样。在实现级别,使用 _OutputArray::needed() 检查是否需要计算某个输出数组。
OutputArray 有几个同义词,用于辅助自动 Python/Java/... 包装器生成器
cv::_OutputArray::_OutputArray | ( | ) |
cv::_OutputArray::_OutputArray | ( | int | _flags, |
void * | _obj ) |
cv::_OutputArray::_OutputArray | ( | Mat & | m | ) |
cv::_OutputArray::_OutputArray | ( | std::vector< Mat > & | vec | ) |
cv::_OutputArray::_OutputArray | ( | cuda::GpuMat & | d_mat | ) |
cv::_OutputArray::_OutputArray | ( | std::vector< cuda::GpuMat > & | d_mat | ) |
cv::_OutputArray::_OutputArray | ( | ogl::Buffer & | buf | ) |
cv::_OutputArray::_OutputArray | ( | cuda::HostMem & | cuda_mem | ) |
cv::_OutputArray::_OutputArray | ( | cudev::GpuMat_< _Tp > & | m | ) |
|
delete |
|
delete |
cv::_OutputArray::_OutputArray | ( | UMat & | m | ) |
cv::_OutputArray::_OutputArray | ( | std::vector< UMat > & | vec | ) |
cv::_OutputArray::_OutputArray | ( | const Mat & | m | ) |
cv::_OutputArray::_OutputArray | ( | const std::vector< Mat > & | vec | ) |
cv::_OutputArray::_OutputArray | ( | const cuda::GpuMat & | d_mat | ) |
cv::_OutputArray::_OutputArray | ( | const std::vector< cuda::GpuMat > & | d_mat | ) |
cv::_OutputArray::_OutputArray | ( | const ogl::Buffer & | buf | ) |
cv::_OutputArray::_OutputArray | ( | const cuda::HostMem & | cuda_mem | ) |
cv::_OutputArray::_OutputArray | ( | const cudev::GpuMat_< _Tp > & | m | ) |
cv::_OutputArray::_OutputArray | ( | const UMat & | m | ) |
cv::_OutputArray::_OutputArray | ( | const std::vector< UMat > & | vec | ) |
cv::_OutputArray::_OutputArray | ( | const std::array< _Tp, _Nm > & | arr | ) |
cv::_OutputArray::_OutputArray | ( | std::array< Mat, _Nm > & | arr | ) |
cv::_OutputArray::_OutputArray | ( | const std::array< Mat, _Nm > & | arr | ) |
void cv::_OutputArray::assign | ( | const Mat & | m | ) | const |
void cv::_OutputArray::assign | ( | const std::vector< Mat > & | v | ) | const |
void cv::_OutputArray::assign | ( | const std::vector< UMat > & | v | ) | const |
void cv::_OutputArray::assign | ( | const UMat & | u | ) | const |
void cv::_OutputArray::clear | ( | ) | const |
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 |
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 |
void cv::_OutputArray::create | ( | Size | sz, |
int | type, | ||
int | i = -1, | ||
bool | allowTransposed = false, | ||
_OutputArray::DepthMask | fixedDepthMask = static_cast< _OutputArray::DepthMask >(0) ) const |
void cv::_OutputArray::createSameSize | ( | const _InputArray & | arr, |
int | mtype ) const |
bool cv::_OutputArray::fixedSize | ( | ) | const |
bool cv::_OutputArray::fixedType | ( | ) | const |
cuda::GpuMat & cv::_OutputArray::getGpuMatRef | ( | ) | const |
std::vector< cuda::GpuMat > & cv::_OutputArray::getGpuMatVecRef | ( | ) | const |
cuda::HostMem & cv::_OutputArray::getHostMemRef | ( | ) | const |
Mat & cv::_OutputArray::getMatRef | ( | int | i = -1 | ) | const |
ogl::Buffer & cv::_OutputArray::getOGlBufferRef | ( | ) | const |
UMat & cv::_OutputArray::getUMatRef | ( | int | i = -1 | ) | const |
void cv::_OutputArray::move | ( | Mat & | m | ) | const |
void cv::_OutputArray::move | ( | UMat & | u | ) | const |
bool cv::_OutputArray::needed | ( | ) | const |
|
static |
|
static |
void cv::_OutputArray::release | ( | ) | const |
void cv::_OutputArray::setTo | ( | const _InputArray & | value, |
const _InputArray & | mask = _InputArray() ) const |