我在O'rielly书中注意到,当使用直方图时,它指的是cvMatND数据结构。但是,本书没有解释这个数据结构的用途以及它与cvMat的不同之处。有人可以向我解释一下吗?谢谢。
答案 0 :(得分:3)
cvMat
是二维(多通道)阵列,即矩阵
cvMatND
是 n - 维(多通道)数组。
请参阅CXCORE参考手册中的Basic Structures部分。
更新:
直方图可以按任意维度计算,因此可以定义
CvHistogram
结构使用CvMatND
存储多维直方图
密集的多维数组结构。
typedef struct CvHistogram
{
int type;
CvArr* bins;
float thresh[CV_MAX_DIM][2]; // for uniform histograms
float** thresh2; // for nonuniform histograms
CvMatND mat; // embedded matrix header
// for array histograms
}
CvHistogram;
答案 1 :(得分:1)