美文网首页opencv notebook
OpenCV4 学习笔记 - 2. 了解 cv::Mat

OpenCV4 学习笔记 - 2. 了解 cv::Mat

作者: QWERDF007 | 来源:发表于2019-06-02 14:10 被阅读0次

    cv::Mat 在 OpenCV 中是一个重要的类,用于表示多维的单通道或多通道数组。它能用于存储复数或实数的向量或矩阵,灰度或彩色图像,向量场,点云,张量,直方图等等。

    有许多方法创建 cv::Mat 对象:

    1. Mat(nrows, ncols, type[, fillValue])
    2. Copy constructor or assignment operator
    3. Construct a header for a part of another array
    // 创建一个 7x7 的复数矩阵,并以 1+3j 填充
    Mat M(7, 7, CV_32FC2, Scalar(1, 3));
    
    // 创建一个 100x100 的单通道8bit 矩阵,并以 255 填充
    Mat M(100, 100, CV_8UC1, Scalar(255));
    
    // 创建一个 100x100 的3通道8bit 矩阵
    Mat M(100, 100, CV_8UC3);
    
    Mat M1;
    M.copyTo(M1);
    
    Mat A = Mat::eye(10, 10, CV_32S);
    
    Mat img(Size(320, 240), CV_8UC3);
    Mat roi(img, Rect(10, 10, 100, 100));
    Mat B = img(Range::all(), Range(1, 3));
    

    Public Attributes:

    • cols:列数
    • rows:行数
    • dims:维度
    • data:指向数据的 uchar 指针

    Public Member Functions:

    • empty:判断数据是否为空
    • at:模板函数,返回对指定矩阵元素的引用
    • begin、end:用于迭代
    • channels:矩阵的通道数
    • clone:返回矩阵的完整的副本
    • copyTo:将矩阵拷贝至另一矩阵
    • convertTo:转换元素类型
    • dot:矩阵乘法
    • mul:元素相乘

    Static Public Member Functions:

    • diag:创建对角矩阵
    • eye:创建单位矩阵
    • ones:创建全1矩阵
    • zeros:创建全0矩阵

    相关文章

      网友评论

        本文标题:OpenCV4 学习笔记 - 2. 了解 cv::Mat

        本文链接:https://www.haomeiwen.com/subject/uebztctx.html