cv库学习,一 Mat类矩阵的定义初始化

1,由多维数组定义初始化Mat类矩阵;

     double m[2][2]={{1.0,2.0},{3.0,4.0}};       Mat M(2,2,CV_64F,m);

2,构造函数定义法

     Mat M(2,2,CV_32FC3,Scalar(100,200,300));

      Mat M(2,2,CV_32FC2,Scalar(100,200));

      Mat M(2,2,CV_8UC1,Scalar(100));

3,   M.create(Size(10, 20), CV_32FC3); 在原有的M矩阵上修改大小,数据类型,M中原先的数据被删除类。

 4. 类的方法赋值

 eye:单位矩阵,ones:全1矩阵,对于多维矩阵,只有第一个通道赋值1,其余通道全赋值0;

5,枚举法赋值

      Mat M=(cv::Mat_<int>(3,3)<<1,2,3,4,5,6,7,8,9);

    当矩阵尺寸比较大的时候,可以利用循环的方式赋值,但是元素值得有一定的规律才可以。

6,构造对角矩阵diag(b),b必须是Mat类的一维变量;

      Mat b=(cv::Mat_<int>(1,3)<<1,2,3);

      Mat M=Mat::diag(b);

 同样使用diag(int b)函数可以取矩阵的对角数据,此时b是一个int 值

 结果:

 

 Mat类矩阵定义初始化方法总结:

           构造函数法定义;

          枚举法;

          类法;

         利用数组赋值法;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值