Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PointCloud
Flann
提交
b5b28dbe
F
Flann
项目概览
PointCloud
/
Flann
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Flann
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b5b28dbe
编写于
1月 25, 2011
作者:
M
Marius Muja
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test_saved.cpp
上级
b1e0152b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
62 addition
and
0 deletion
+62
-0
test/test_saved.cpp
test/test_saved.cpp
+62
-0
未找到文件。
test/test_saved.cpp
0 → 100644
浏览文件 @
b5b28dbe
#include <flann/flann.hpp>
#include <flann/io/hdf5.h>
using
namespace
flann
;
int
main
()
{
Matrix
<
float
>
data
;
Matrix
<
float
>
query
;
printf
(
"Load data
\n
"
);
load_from_file
(
data
,
"sift100K.h5"
,
"dataset"
);
load_from_file
(
query
,
"sift100K.h5"
,
"query"
);
printf
(
"Build index
\n
"
);
Index
<
L2
<
float
>
>
index
(
data
,
KDTreeIndexParams
(
4
));
index
.
buildIndex
();
printf
(
"Search knn
\n
"
);
int
nn
=
3
;
Matrix
<
float
>
dists1
(
new
float
[
query
.
rows
*
nn
],
query
.
rows
,
nn
);
Matrix
<
int
>
indices1
(
new
int
[
query
.
rows
*
nn
],
query
.
rows
,
nn
);
index
.
knnSearch
(
query
,
indices1
,
dists1
,
nn
,
flann
::
SearchParams
(
32
));
printf
(
"Save index
\n
"
);
index
.
save
(
"saved_index.idx"
);
printf
(
"Load index
\n
"
);
Index
<
L2
<
float
>
>
saved_index
(
data
,
SavedIndexParams
(
"saved_index.idx"
));
printf
(
"Search knn with saved index
\n
"
);
Matrix
<
float
>
dists2
(
new
float
[
query
.
rows
*
nn
],
query
.
rows
,
nn
);
Matrix
<
int
>
indices2
(
new
int
[
query
.
rows
*
nn
],
query
.
rows
,
nn
);
saved_index
.
knnSearch
(
query
,
indices2
,
dists2
,
nn
,
SearchParams
(
32
));
bool
ok
=
true
;
for
(
size_t
i
=
0
;
i
<
query
.
cols
;
++
i
)
{
for
(
int
j
=
0
;
j
<
nn
;
++
j
)
{
if
(
indices1
[
i
][
j
]
!=
indices2
[
i
][
j
])
{
printf
(
"OUCH! Different indices found at location: %d,%d
\n
"
,
i
,
j
);
ok
=
false
;
}
}
}
if
(
ok
)
{
printf
(
"Index saving seems to work fine.
\n
"
);
}
else
{
printf
(
"There are errors in index saving.
\n
"
);
}
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录