我有一点理解的问题。
opencv中的Brisk描述符Mat值的标准类型是无符号字符值,标准大小为8位。 KeyPoint的完整描述符的大小为16个无符号字符值。 8bitx16 = 128bit虽然在论文中你只是发现你有512位描述符。
任何人都可以帮助我摆脱这种错配吗?我还没有在OpenCV文档中发现描述符的比特大小是否可扩展(但是?)。
答案 0 :(得分:1)
你在哪里找到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位)。