1. 基本概念
cv::Mat是 OpenCV 中用于存储图像和矩阵数据的基础数据结构,它代表一个 n 维密集数组。
2. 内存结构
2.1 核心组成部分
cv::Mat
├── 矩阵头 (Mat Header)
│ ├── 行数 (rows)
│ ├── 列数 (cols)
│ ├── 通道数 (channels)
│ ├── 数据类型 (type: CV_8UC3 等)
│ ├── 每行字节数 (step)
│ ├── 数据指针 (data)
│ ├── 引用计数 (refcount)
│ └── ...
└── 数据存储 (Data Block)
├── 连续的内存块
└── 实际像素/矩阵值
2.2 数据类型定义
// 数据类型枚举
enum {
CV_8U=0, CV_8UC1=0, // 8位无符号, 1通道
CV_8UC2, // 8位无符号, 2通道
CV_8UC3, // 8位无符号, 3通道
CV_8UC4, // 8位无符号, 4通道
CV_8S=1, CV_8SC1=1, // 8位有符号
CV_8SC2, CV_8SC3, CV_8SC4,
CV_16U=2, CV_16UC1=2, // 16位无符号
CV_16S=3, CV_16SC1=3, // 16位有符号
CV_32S=4, CV_32SC1=4, // 32位有符号
CV_32F=5, CV_

订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



