opencv基础(三)之Mat对象

今天本小节来学习一下Mat对象,用Opencv的话对Mat对象可谓再熟悉不过了。

首先,其实在Opencv1.0的时候,是没有Mat对象的,当时用的是c语言风格的数据结构lplImage,但是这很容易出现内存泄漏,需要自己去释放内存。从Openc2.0后,开始引入Mat对象,由opencv这个框架自动管理内存,我们只管用就可以了,不需要自己去释放。

接下来我们看看Mat创建的几种方式:

1、使用无参构造方式。

        

   如果我们可以看到先声明了一个Mat对象,然后使用create方法。

     我们先来解释一下create的参数:

      参数一:5表示行数。

      参数二:5表示列数。

      参数三:图像矩阵类型。

    解释一下CV_8CU3:

      8表示八位。

     UC:表示uchar类型。

      3:表示三个通道。

2、Mat m = Mat(4, 4, CV_8UC3)。解释同上。

3、使用如下方式创建。

 

   此种需要注意的是:Scalar里面的数量一定要和CV_8UC3中的3一致,表示通道数,这个是给图像中每个通道赋值。结果如下:

4、全零矩阵图像。

  5、全1矩阵图像。

      

    我这里使用的是单通道也就是CV_8UC1,不是CV_8UC3。

另外,我们还需要学习Opencv的clone()和copyto()的区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值