Mat简介入门

本文介绍了图像的基本概念,如灰度图和彩色图像的表示方式,以及在计算机内存中的存储顺序。接着深入讲解了OpenCV中Mat类的多种构造方法,包括用于创建不同尺寸和类型的图像,以及如何初始化和共享图像数据。此外,还讨论了访问Mat类中像素的不同方式,如at函数、迭代器和指针,并提到了Mat内存结构的重要性。
摘要由CSDN通过智能技术生成

1.图像基本概念
灰度图用 2 维矩阵表示,彩色(多通道)图像用 3 维矩阵(M× N × 3)表示。对于图像显示来说,目前大部分设备都是用无符号 8 位整数(类型为 CV_8U)表示像素亮度。图像数据在计算机内存中的存储顺序为以图像最左上点(也可能是最左下点)开始。
这里写图片描述
Iij 表示第 i 行 j 列的像素值。如果是多通道图像,比如 RGB 图像,则每个像素用三个字节表示。在 OpenCV 中,RGB 图像的通道顺序为 BGR。
2.Mat类

常用构造方法
Mat::Mat()无参数构造方法;
Mat::Mat(int rows, int cols, int type)创建行数为 rows,列数为 col,类型为 type 的图像;
Mat::Mat(Size size, int type)创建大小为 size,类型为 type 的图像;
Mat::Mat(int rows, int cols, int type, const Scalar& s)25创建行数为 rows,列数为 col,类型为 type 的图像,并将所有元素初始化为值 s;
Mat::Mat(Size size, int type, const Scalar& s)创建大小为 size,类型为 type 的图像,并将所有元素初始化为值 s;
Mat::Mat(const Mat& m)将 m 赋值给新创建的对象,此处不会对图像数据进行复制,m 和新对象共用图像数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值