Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
a84afb63
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,发现更多精彩内容 >>
提交
a84afb63
编写于
6月 29, 2020
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #17640 from pemmanuelviel:pev--fix-lsh-bad-any-cast
上级
cabad90d
cdac7c7b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
11 deletion
+17
-11
modules/flann/include/opencv2/flann/lsh_index.h
modules/flann/include/opencv2/flann/lsh_index.h
+11
-11
modules/flann/test/test_lshtable_badarg.cpp
modules/flann/test/test_lshtable_badarg.cpp
+6
-0
未找到文件。
modules/flann/include/opencv2/flann/lsh_index.h
浏览文件 @
a84afb63
...
...
@@ -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_
;
...
...
modules/flann/test/test_lshtable_badarg.cpp
浏览文件 @
a84afb63
...
...
@@ -90,4 +90,10 @@ void CV_LshTableBadArgTest::run( int /* start_from */ )
TEST
(
Flann_LshTable
,
badarg
)
{
CV_LshTableBadArgTest
test
;
test
.
safe_run
();
}
TEST
(
Flann_LshTable
,
bad_any_cast
)
{
Mat
features
=
Mat
::
ones
(
1
,
64
,
CV_8U
);
EXPECT_NO_THROW
(
flann
::
GenericIndex
<
cvflann
::
Hamming2
<
unsigned
char
>
>
(
features
,
cvflann
::
LshIndexParams
()));
}
}}
// namespace
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录