Opencv中关于双通道Mat矩阵的创建与访问

本文详细介绍了如何在OpenCV中创建双通道的Mat矩阵,讲解了Mat数据类型的定义规则,如CV_8UC3表示8位无符号字符的三通道矩阵。还提到了Mat矩阵数据的逐行存储特性,并列举了各种数据类型及其表示的数值范围。通过at函数,可以方便地访问和操作矩阵中的像素点。
摘要由CSDN通过智能技术生成
       在opencv中我们经常用到的是1或者3通道的图像,也就是灰度图像或者彩色图像,对于这两个类型的图像来说,在网上可以找到许多有关的操作。由于课程需要,老师叫手工实现图像的傅里叶变换,在这里面就涉及到了2通道矩阵的处理,上网找了下,好像关于这方面的文章比较少,所以写了一篇,免得以后又忘记。

            

    <span style="font-size:12px;">//1.使用构造函数,常见的几个如下:  
    Mat::Mat(); //default  
    Mat::Mat(int rows, int cols, int type);  
    Mat::Mat(Size size, int type);  
    Mat::Mat(int rows, int cols, int type, const Scalar& s);  
    Mat::Mat(Size size, int type, const Scalar& s);  
    Mat::Mat(const Mat& m);  
    //参数说明:  
    //int rows:高  
    //int cols:宽  
    //int type:参见"Mat类型定义"  
    //Size size:矩阵尺寸,注意宽和高的顺序:Size(cols, rows)  
    //const Scalar& s:用于初始化矩阵元素的数值  
    //const Mat& m:拷贝m的矩阵头给新的Mat对象,但是不复制数据!相当于创建了m的一个引用对象  
      
    //例子1:创建100*90的矩阵,矩阵元素为3通道32位浮点型  
    cv::Mat M(100, 90, CV_32FC3);  
    //例子2:使用一维或多维数组来初始化矩阵,  
    double m[3][3] = {
  {a, b, c}, {d, e, f}, {g, h, i}};  
    cv::Mat M = cv::Mat(3, 3, CV_64F, m);  
      
    //2.使用create函数:  
    Mat a = create(10, 9, CV_16U);  //创建
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值