flann中关于indexParam的使用说明

今天研究了一下opencv中的FLANN库,踩坑一下午,遇到问题:OpenCV Error: Unsupported format or combination of formats (type=5)

在stackoverflow下也没人解决,所以特意记录下。


在库中使用Index类,完成knn的查找。其构造函数为:

 Index(InputArray features, const IndexParams& params, cvflann::flann_distance_t distType=cvflann::FLANN_DIST_L2);

其参数有一些特殊要求:

1.对于params的取值为 AutotunedIndexParams、LinearIndexParams、KDTreeIndexParams时需要使用float型的features

2.当param为LshIndexParams时,features是uchar的Mat

原因是Index的构造函数其实调用了其build方法:

void Index::build(InputArray _data, const IndexParams& params, flann_distance_t _distType)
{
    release();
    algo = getParam<flann_algorithm_t>(params, "algorithm", FLANN_INDEX_LINEAR);
    if( algo == FLANN_INDEX_SAVED )
    {
        load(_data, getParam<String>(params, "filename",

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值