У меня есть небольшая проблема понимания.
Стандартный тип значения Mat для дескриптора Brisk в opencv — это значение без знака со стандартным размером 8 бит. Полный дескриптор KeyPoint имеет размер 16 значений без знака. 8bitx16 = 128bit, хотя в статьях вы просто обнаруживаете, что у вас есть 512-битный дескриптор.
Кто-нибудь может мне помочь из этого несоответствия? В документации OpenCV я не обнаружил, является ли размер битов дескрипторов масштабируемым (пока?).
Где вы нашли эту 16 цифру? Кажется, это неправильно.
Mat img = imread( "lena.png", cv::IMREAD_GRAYSCALE );
BRISK brisk;
vector<KeyPoint> kp;
brisk.detect(img,kp);
Mat desc;
brisk.compute( img, kp, desc) ;
cerr << desc.rows << " " << desc.cols << " " << desc.type() << endl;
167 64 0
Итак, 167 дескрипторов BRISK найдено 64 байта (это 512 бит на дескриптор).