OpenCV  4.10.0
开源计算机视觉库
正在加载...
正在搜索...
无匹配项
公共成员函数 | 所有成员列表
cv::gapi::own::Mat 类参考

#include <opencv2/gapi/own/mat.hpp>

cv::gapi::own::Mat 的协作图

公共成员函数

 Mat ()=default
 
 Mat (const std::vector< int > &_dims, int _type, void *_data)
 
 Mat (int _rows, int _cols, int _type, void *_data, size_t _step=AUTO_STEP)
 
 Mat (Mat &&)=default
 
 Mat (Mat const &)=default
 
 Mat (Mat const &src, const Rect &roi)
 
 Mat (std::vector< int > &&_dims, int _type, void *_data)
 
int channels () const
 返回矩阵的通道数。
 
Mat clone () const
 创建矩阵及其底层数据的完整副本。
 
void copyTo (Mat &dst) const
 将矩阵复制到另一个矩阵。
 
void create (const std::vector< int > &_dims, int _type)
 
void create (int _rows, int _cols, int _type)
 
void create (Size _size, int _type)
 
int depth () const
 返回矩阵元素的深度。
 
size_t elemSize () const
 返回矩阵元素的大小(以字节为单位)。
 
bool empty () const
 如果数组没有元素,则返回 true。
 
Mat operator() (const Rect &roi) const
 
Matoperator= (const Scalar &s)
 将所有或部分数组元素设置为指定的值。
 
Matoperator= (Mat &&)=default
 
Matoperator= (Mat const &)=default
 
ucharptr (int row, int col=0)
 返回指向指定矩阵行的指针。
 
const ucharptr (int row, int col=0) const
 
size_t total () const
 返回数组元素的总数。
 
int type () const
 返回矩阵元素的类型。
 
- 从 cv::gapi::own::detail::MatHeader 继承的公共成员函数
 MatHeader ()=default
 
 MatHeader (const MatHeader &)=default
 
 MatHeader (const std::vector< int > &_dims, int type, void *_data)
 
 MatHeader (int _rows, int _cols, int type, void *_data, size_t _step)
 
 MatHeader (MatHeader &&src)
 
MatHeaderoperator= (const MatHeader &)=default
 
MatHeaderoperator= (MatHeader &&src)
 

额外继承的成员

- 从 cv::gapi::own::detail::MatHeader 继承的公共类型
enum  { AUTO_STEP = 0 }
 
enum  { TYPE_MASK = 0x00000FFF }
 
- 从 cv::gapi::own::detail::MatHeader 继承的公共属性
int cols = 0
 
uchardata = nullptr
 指向数据的指针
 
std::vector< int > dims
 维度(ND-case)
 
int flags = 0
 
int rows = 0
 行和列的数量,或 (-1, -1) 表示矩阵的维度超过 2 维
 
size_t step = 0
 

构造函数和析构函数文档

◆ Mat() [1/7]

cv::gapi::own::Mat::Mat ( )
默认

◆ Mat() [2/7]

cv::gapi::own::Mat::Mat ( int  _rows,
int  _cols,
int  _type,
void *  _data,
size_t  _step = AUTO_STEP 
)
inline

这是一个重载的成员函数,为了方便使用。它与上面的函数唯一的区别在于它接受的参数不同。

参数
_rows二维数组的行数。
_cols二维数组的列数。
_type数组类型。使用 CV_8UC1,..., CV_64FC4 创建 1-4 通道矩阵,或者 CV_8UC(n), ..., CV_64FC(n) 创建多通道(最多 CV_CN_MAX 个通道)矩阵。
_data指向用户数据的指针。接受数据和步长参数的矩阵构造函数不会分配矩阵数据。相反,它们只初始化指向指定数据的矩阵头,这意味着不会复制任何数据。此操作非常高效,可用于使用 OpenCV 函数处理外部数据。外部数据不会自动释放,因此您需要自行管理它。
_step每个矩阵行占用的字节数。此值应包括每行末尾的填充字节(如果有)。如果参数缺失(设置为 AUTO_STEP),则不假设填充,实际步长将计算为 cols*elemSize()。请参见 Mat::elemSize.

◆ Mat() [3/7]

cv::gapi::own::Mat::Mat ( const std::vector< int > &  _dims,
int  _type,
void *  _data 
)
inline

◆ Mat() [4/7]

cv::gapi::own::Mat::Mat ( std::vector< int > &&  _dims,
int  _type,
void *  _data 
)
inline

◆ Mat() [5/7]

cv::gapi::own::Mat::Mat ( Mat const &  src,
const Rect roi 
)
inline
此函数的调用图如下

◆ Mat() [6/7]

cv::gapi::own::Mat::Mat ( Mat const &  )
默认

◆ Mat() [7/7]

cv::gapi::own::Mat::Mat ( Mat &&  )
默认

成员函数文档

◆ channels()

int cv::gapi::own::Mat::channels ( ) const
inline

返回矩阵的通道数。

此方法返回矩阵的通道数。如果矩阵是 N 维的,则返回 -1。

◆ clone()

Mat cv::gapi::own::Mat::clone ( ) const
inline

创建矩阵及其底层数据的完整副本。

此方法创建矩阵的完整副本。原始 step[] 不被考虑。因此,副本具有连续的缓冲区,占用 total() * elemSize() 字节。

此函数的调用图如下

◆ copyTo()

void cv::gapi::own::Mat::copyTo ( Mat dst) const
inline

将矩阵复制到另一个矩阵。

此方法将矩阵数据复制到另一个矩阵。在复制数据之前,此方法会调用

m.create(this->size(), this->type());
int type() const
返回矩阵元素的类型。
定义 mat.hpp:195

以便如果需要,目标矩阵会被重新分配。虽然 m.copyTo(m); 工作正常,但此函数不处理源矩阵和目标矩阵之间部分重叠的情况。

此函数的调用图如下

◆ create() [1/3]

void cv::gapi::own::Mat::create ( const std::vector< int > &  _dims,
int  _type 
)
inline

◆ create() [2/3]

void cv::gapi::own::Mat::create ( int  _rows,
int  _cols,
int  _type 
)
inline
参数
_rows新的行数。
_cols新的列数。
_type新的矩阵类型。
此函数的调用图如下

◆ create() [3/3]

void cv::gapi::own::Mat::create ( Size  _size,
int  _type 
)
inline

这是一个重载的成员函数,为了方便使用。它与上面的函数唯一的区别在于它接受的参数不同。

参数
_size新的矩阵大小的替代规格:Size(cols, rows)
_type新的矩阵类型。

◆ depth()

int cv::gapi::own::Mat::depth ( ) const
inline

返回矩阵元素的深度。

此方法返回矩阵元素深度的标识符(每个单独通道的类型)。例如,对于 16 位有符号元素数组,此方法返回 CV_16S。矩阵类型的完整列表包含以下值

  • CV_8U - 8 位无符号整数 ( 0..255 )
  • CV_8S - 8 位有符号整数 ( -128..127 )
  • CV_16U - 16 位无符号整数 ( 0..65535 )
  • CV_16S - 16 位有符号整数 ( -32768..32767 )
  • CV_32S - 32 位有符号整数 ( -2147483648..2147483647 )
  • CV_32F - 32 位浮点数 ( -FLT_MAX..FLT_MAX, INF, NAN )
  • CV_64F - 64 位浮点数 ( -DBL_MAX..DBL_MAX, INF, NAN )

◆ elemSize()

size_t cv::gapi::own::Mat::elemSize ( ) const
inline

返回矩阵元素的大小(以字节为单位)。

该方法返回矩阵元素的大小(以字节为单位)。例如,如果矩阵类型为 CV_16SC3,则该方法返回 3*sizeof(short) 或 6。

此函数的调用图如下

◆ empty()

bool cv::gapi::own::Mat::empty ( ) const
inline

如果数组没有元素,则返回 true。

如果 Mat::total() 为 0 或 Mat::data 为 NULL,则该方法返回 true。由于 pop_back() 和 resize() 方法,M.total() == 0 并不意味着 M.data == NULL

此函数的调用图如下

◆ operator()()

Mat cv::gapi::own::Mat::operator() ( const Rect roi) const
inline

这是一个重载的成员函数,为了方便使用。它与上面的函数唯一的区别在于它接受的参数不同。

参数
roi作为矩形提取的子矩阵。

◆ operator=() [1/3]

Mat & cv::gapi::own::Mat::operator= ( const Scalar s)
inline

将所有或部分数组元素设置为指定的值。

参数
s分配的标量转换为实际数组类型。
此函数的调用图如下

◆ operator=() [2/3]

Mat & cv::gapi::own::Mat::operator= ( Mat &&  )
默认

◆ operator=() [3/3]

Mat & cv::gapi::own::Mat::operator= ( Mat const &  )
默认

◆ ptr() [1/2]

uchar * cv::gapi::own::Mat::ptr ( int  row,
int  col = 0 
)
inline

返回指向指定矩阵行的指针。

该方法返回 uchar* 或指向指定矩阵行的类型指针。有关如何使用这些方法的示例,请参阅 Mat::isContinuous

参数
row沿维度 0 的索引
col沿维度 1 的索引
此函数的调用图如下

◆ ptr() [2/2]

const uchar * cv::gapi::own::Mat::ptr ( int  row,
int  col = 0 
) const
inline

这是一个重载的成员函数,为了方便使用。它与上面的函数唯一的区别在于它接受的参数不同。

此函数的调用图如下

◆ total()

size_t cv::gapi::own::Mat::total ( ) const
inline

返回数组元素的总数。

该方法返回数组元素的数量(如果数组表示图像,则为像素数量)。

◆ type()

int cv::gapi::own::Mat::type ( ) const
inline

返回矩阵元素的类型。

该方法返回矩阵元素类型。这是一个与 CvMat 类型系统兼容的标识符,例如 CV_16SC3 或 16 位有符号 3 通道数组,等等。


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