我在O'rielly的书中注意到,当使用直方图时,它指的是cvMatND数据结构。但是,这本书没有解释此数据结构的用途以及与cvMat的区别。有人可以向我解释一下吗?谢谢。
最佳答案
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;