Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
fe09c79f
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fe09c79f
编写于
6月 16, 2020
作者:
P
Pierre-Emmanuel Viel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the 'cvflann::anyimpl::bad_any_cast' error using Lsh
上级
7fae2e83
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
11 deletion
+11
-11
modules/flann/include/opencv2/flann/lsh_index.h
modules/flann/include/opencv2/flann/lsh_index.h
+11
-11
未找到文件。
modules/flann/include/opencv2/flann/lsh_index.h
浏览文件 @
fe09c79f
...
...
@@ -60,13 +60,13 @@ struct LshIndexParams : public IndexParams
{
LshIndexParams
(
unsigned
int
table_number
=
12
,
unsigned
int
key_size
=
20
,
unsigned
int
multi_probe_level
=
2
)
{
(
*
this
)[
"algorithm"
]
=
FLANN_INDEX_LSH
;
(
*
this
)[
"algorithm"
]
=
FLANN_INDEX_LSH
;
// The number of hash tables to use
(
*
this
)[
"table_number"
]
=
table_number
;
(
*
this
)[
"table_number"
]
=
static_cast
<
int
>
(
table_number
)
;
// The length of the key in the hash tables
(
*
this
)[
"key_size"
]
=
key_size
;
(
*
this
)[
"key_size"
]
=
static_cast
<
int
>
(
key_size
)
;
// Number of levels to use in multi-probe (0 for standard LSH)
(
*
this
)[
"multi_probe_level"
]
=
multi_probe_level
;
(
*
this
)[
"multi_probe_level"
]
=
static_cast
<
int
>
(
multi_probe_level
)
;
}
};
...
...
@@ -94,9 +94,9 @@ public:
{
// cv::flann::IndexParams sets integer params as 'int', so it is used with get_param
// in place of 'unsigned int'
table_number_
=
(
unsigned
int
)
get_param
<
int
>
(
index_params_
,
"table_number"
,
12
);
key_size_
=
(
unsigned
int
)
get_param
<
int
>
(
index_params_
,
"key_size"
,
20
);
multi_probe_level_
=
(
unsigned
int
)
get_param
<
int
>
(
index_params_
,
"multi_probe_level"
,
2
);
table_number_
=
get_param
(
index_params_
,
"table_number"
,
12
);
key_size_
=
get_param
(
index_params_
,
"key_size"
,
20
);
multi_probe_level_
=
get_param
(
index_params_
,
"multi_probe_level"
,
2
);
feature_size_
=
(
unsigned
)
dataset_
.
cols
;
fill_xor_mask
(
0
,
key_size_
,
multi_probe_level_
,
xor_masks_
);
...
...
@@ -112,7 +112,7 @@ public:
void
buildIndex
()
CV_OVERRIDE
{
tables_
.
resize
(
table_number_
);
for
(
unsigned
int
i
=
0
;
i
<
table_number_
;
++
i
)
{
for
(
int
i
=
0
;
i
<
table_number_
;
++
i
)
{
lsh
::
LshTable
<
ElementType
>&
table
=
tables_
[
i
];
table
=
lsh
::
LshTable
<
ElementType
>
(
feature_size_
,
key_size_
);
...
...
@@ -378,11 +378,11 @@ private:
IndexParams
index_params_
;
/** table number */
unsigned
int
table_number_
;
int
table_number_
;
/** key size */
unsigned
int
key_size_
;
int
key_size_
;
/** How far should we look for neighbors in multi-probe LSH */
unsigned
int
multi_probe_level_
;
int
multi_probe_level_
;
/** The XOR masks to apply to a key to get the neighboring buckets */
std
::
vector
<
lsh
::
BucketKey
>
xor_masks_
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录