В OpenCV для чего используется структура CvMatND? - PullRequest
2 голосов
/ 12 ноября 2009

Я заметил в книге О'риелли, что при использовании гистограмм это относится к структуре данных cvMatND. Однако в книге не объясняется, для чего используется эта структура данных и чем она отличается от cvMat. Может кто-нибудь, пожалуйста, объясните мне это? Спасибо.

Ответы [ 2 ]

3 голосов
/ 12 ноября 2009

cvMat - это двумерный (многоканальный) массив, то есть матрица.
cvMatND представляет собой n -мерный (многоканальный) массив.

См. Раздел Основные структуры в справочном руководстве CXCORE.

Обновление :

Гистограмма может быть вычислена в произвольных измерениях, поэтому определение структура 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 голос
/ 12 ноября 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...