OpenCV 4.11.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 的公有类型
枚举 { AUTO_STEP = 0 }
 
枚举 { TYPE_MASK = 0x00000FFF }
 
- 继承自 cv::gapi::own::detail::MatHeader 的公有属性
int cols = 0
 
uchardata = nullptr
 指向数据的指针
 
std::vector< int > dims
 维度(ND情况)
 
int flags = 0
 
int rows = 0
 行数和列数,或者当矩阵维度大于2时为(-1, -1)
 
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 )
内联

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

参数
_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 )
内联

◆ Mat() [4/7]

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

◆ Mat() [5/7]

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

◆ 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
内联

返回矩阵通道数。

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

◆ clone()

Mat cv::gapi::own::Mat::clone ( ) const
内联

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

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

此函数的调用图如下所示

◆ copyTo()

void cv::gapi::own::Mat::copyTo ( Mat & dst) const
内联

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

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

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 )
内联

◆ create() [2/3]

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

◆ create() [3/3]

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

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

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

◆ depth()

int cv::gapi::own::Mat::depth ( ) const
内联

返回矩阵元素的深度。

此方法返回矩阵元素深度的标识符(每个单独通道的类型)。例如,对于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
内联

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

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

此函数的调用图如下所示

◆ empty()

bool cv::gapi::own::Mat::empty ( ) const
内联

如果数组没有元素,则返回 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
内联

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

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

◆ operator=() [1/3]

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

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

参数
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 )
内联

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

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

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

◆ ptr() [2/2]

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

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

此函数的调用图如下所示

◆ total()

size_t cv::gapi::own::Mat::total ( ) const
内联

返回数组元素的总数。

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

◆ type()

int cv::gapi::own::Mat::type ( ) const
内联

返回矩阵元素的类型。

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


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