zoukankan      html  css  js  c++  java
  • opencv矩阵运算(二)

    显式创建Mat矩阵的七种方法

    1.使用Mat()构造方法创建

    //参数:行数,列数,数据类型及通道数,每块的数据
    //数据类型及通道数:CV_[位数][是否有符号][数据类型]C[通道数]
    Mat m(288,288,CV_8UC3,Scalar(0,0,255));
    

    2.多维度的使用Mat()构造方法创建

    //创建三维的矩阵,设置每个维度的尺寸
    int s[3]={2,2,2};
    Mat m1(3,s,CV_8UC3,Scalar(0,0,255));

    3.create函数创建

    Mat m2;
    m2.create(2,2,CV_8UC(2));
    

    4.创建特殊矩阵

    //创建单位阵
    Mat E = Mat::eye(2,2,CV_16F);
    cout<<E<<endl;
    //创建零矩阵
    Mat Z = Mat::zeros(2,2,CV_16F);
    cout<<Z<<endl;
    //创建一矩阵
    Mat O = Mat::ones(2,2,CV_16F);
    cout<<O<<endl;
    

    5.模板创建矩阵

    Mat C = (Mat_<double>(2,2)<<1,0,0,1);
    cout<<C<<endl;
    

    6.使用clone()或者copyTo()创建

    Mat C = (Mat_<double>(2,2)<<1,0,0,1);
    cout<<C<<endl;
    Mat D=C.clone();
    Mat E;
    D.copyTo(E);
    cout<<E<<endl;
    

    7.使用IplImage对象创建再转换成Mat矩阵

    //opencv2.x.x和opencv3.x.x支持,opencv4.x.x不支持
    IplImage* img = cvLoadImage(fileName,flag)
    Mat G = mtx(img)
    cout<<G<<endl;
    

      

  • 相关阅读:
    第二阶段冲刺01
    第十三周进度总结
    单词统计续
    sys模块
    os模块
    random模块
    datetime模块
    time模块
    模块基础
    内置函数
  • 原文地址:https://www.cnblogs.com/navysummer/p/12323018.html
Copyright © 2011-2022 走看看