03 OpenCV图像对象的创建与赋值

03 图像对象的创建与赋值

opencv知识点:

  • Mat类
  • 图像复制的3种方法
  • 图像属性的获取
  • Mat对象的创建
  • Mat对象的赋值

本课所解决的问题:

  • Mat是什么?
  • Mat对象克隆/拷贝与赋值的区别?
  • 如何获取图像的属性?
  • 如何创建空白图像?
  • 如何对Mat对象赋值?

1.Mat类及其实例

Mat简述

什么是Mat呢,Mat其实就是matrix(矩阵)的缩写
我们看到的图像,就是以数字矩阵的形式存储在计算机中,在opencv中,我们用Mat类的对象存储图像。

在opencv中,Mat类分为两个部分

  • 矩阵头
  • 矩阵数据

矩阵头

图像有很多属性。如:大小,**宽和高**,数据类型,**通道数**。这些数据存储在**矩阵头**中

矩阵数据

图像也有很多的数据,图像的数据部分是所有像素的值的一个集合,存储在**矩阵数据**中

84c7101ab7fb4bf59d94db0bc2aa1952

Mat对象复制

看上图,我们发现Mat对象复制是有三种方法的

  • 克隆
  • 拷贝
  • 赋值

这里说一下它们的区别

==赋值:==相当于浅复制,只复制了矩阵头,指向的是同一个数据块。

克隆/拷贝:相当于深复制,还会复制相应的数据块

//1.赋值——浅复制
Mat src = imread("……");
Mat m3 = src;

//2.克隆——深复制
Mat src = imread("……");
Mat m1 = src.clone();

//3.拷贝——深复制
Mat src = imread("……");
Mat m2;
src.copyTo(m2);

Mat对象属性

Mat对象存储了一些属性,如:列数,行数,通道数(维度),位深度,图像类型

怎么获取它们呢?

Mat image= imread("……");

//很简单,通过这些操作即可
image.cols;
image.rows;
image
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值