文章目录
cv:Mat是OpenCV中最重要的数据存储类,几乎可以存储所有的矩阵数据(包括2维图片数据)。
cv::Mat
The class Mat represents an n-dimensional dense numerical single-channel or multi-channel array. It can be used to store (Mat类用于表示一个多维度的密集的单通道或多通道的数值数组,能用于存储):
-
real or complex-valued vectors or matrices (实数值或复合值向量、矩阵)
-
grayscale or color images (灰度图或者彩色图)
-
voxel volumes (立体元素)
-
vector fields (矢量场)
-
point clouds (点云)
-
tensors (张量)
-
histograms (though, very high-dimensional histograms may be better stored in a SparseMat ) (直方图,高纬度的最好存放在SparseMat中)
矩阵 (M) 中数据元素的地址计算公式:
addr(Mi0,i1,…im-1) = M.data + M.step[0] * i0 + M.step[1] * i1 + … + M.step[m-1] * im-1 (其中 m = M.dims,即M的维度)
重要的类成员:<

本文详细解析了OpenCV中的核心类Mat,包括data指针表示的数据起始地址,dims表示的矩阵维度,channels()返回的通道数量,depth()表示的元素位数,以及elemSize()和step[]描述的元素大小和行步长。通过2维和3维实例分析,阐述了这些成员在不同情况下的应用和计算方法。
最低0.47元/天 解锁文章
433

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



