OpenCV固定矩阵类Matx、矩阵类Mat初始化方法汇总

本文详细介绍了OpenCV中Mat对象的多种初始化方法,包括直接赋值、数组初始化、读图初始化等,并深入探讨了使用数组构造Mat时的注意事项及多通道浮点Mat的构造方法。

1,Matx初始化方法

1.1 用数组初始化

double vals[4] = {1,2,3,4};
Matx22d m(vals);

2,Mat初始化方法

2.1 直接赋值初始化

Mat C =(Mat_<double>(3,3)<<0,-1,0,-1,5,-1,0,-1,0);

2.2 通过数组初始化

int a[3][3] = { 0, -1, 0,-1, 5, -1, 0, -1, 0};
Mat C(3,3,CV_32S,a);     //type不能错!int对应CV_32S,float对应CV_32F,double对应CV_64F

复杂点,可以通过3维数组构造多通道的浮点Mat:

int main()
{
    // 创建一个3行4列2通道的float数组
    float afTest[3][4][2] = { {
  
  {1.11,1.12},{1.21,1.22},{1.31,1.32},{1.41,1.42}},    
                              {
  
  {2.11,2.12},{2.21,2.22},{2.31,2.32},{2.41,2.42}},
                              {
  
  {3.11,3.12},{3.21,3.22},{3.31,3.32},{3.41,3.42}} };

    float fA = afTest[1][3][0];             // 索引第1行第3列的0通道
    Mat mA(3, 4, CV_32FC2, afTest);         // 数组转化为2
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值