【问题标题】:Correct Size of bits in brisk descriptors? opencv正确描述符中的位大小? opencv
【发布时间】:2015-01-28 03:31:56
【问题描述】:

我的理解有点问题。

opencv 中 Brisk 描述符 Mat 值的标准类型是标准大小为 8 位的 unsigned char 值。 KeyPoint 的完整描述符的大小为 16 个无符号字符值。 8bitx16 = 128bit 虽然在论文中你只是发现你有一个 512 位的描述符。

任何人都可以帮助我摆脱这种不匹配吗?我还没有在 OpenCV 文档中发现描述符的位大小是否可扩展(还没有?)。

【问题讨论】:

    标签: c++ opencv brisk feature-descriptor


    【解决方案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
    

    因此,找到了 64 个字节的 167 个 BRISK 描述符(即每个描述符 512 位)。

    【讨论】:

    • 感谢您的回答。我改变了行和列。我被一个纪录片的例子弄糊涂了。再次感谢!
    猜你喜欢
    • 2022-09-26
    • 2014-05-24
    • 2010-10-27
    • 1970-01-01
    • 2013-03-10
    • 2016-02-10
    • 2018-06-28
    • 1970-01-01
    • 2014-08-16
    相关资源
    最近更新 更多