Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PointCloud
Flann
提交
f1b02eb9
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,发现更多精彩内容 >>
提交
f1b02eb9
编写于
6月 10, 2013
作者:
M
Marius Muja
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Matlab bindings fixes in order to run on Octave. (Thanks Daniel Franke)
上级
a43cfd10
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
33 addition
and
32 deletion
+33
-32
src/matlab/CMakeLists.txt
src/matlab/CMakeLists.txt
+1
-1
src/matlab/flann_build_index.m
src/matlab/flann_build_index.m
+14
-13
src/matlab/flann_search.m
src/matlab/flann_search.m
+14
-14
src/matlab/flann_set_distance_type.m
src/matlab/flann_set_distance_type.m
+4
-4
未找到文件。
src/matlab/CMakeLists.txt
浏览文件 @
f1b02eb9
...
...
@@ -70,7 +70,7 @@ elseif(OCT_CMD)
ADD_CUSTOM_COMMAND
(
OUTPUT
${
MEX_FILE
}
COMMAND
${
OCT_CMD
}
ARGS
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
MEX_NAME
}
.cpp -I
${
PROJECT_SOURCE_DIR
}
/src/cpp -L
${
FLANN_LIB_PATH
}
-DFLANN_STATIC -lflann_s --mex
ARGS
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
MEX_NAME
}
.cpp -I
${
PROJECT_SOURCE_DIR
}
/src/cpp -L
${
FLANN_LIB_PATH
}
-DFLANN_STATIC -lflann_s -
lgomp -
-mex
DEPENDS flann_s
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
MEX_NAME
}
.cpp
COMMENT
"Building MEX extension
${
MEX_FILE
}
"
)
...
...
src/matlab/flann_build_index.m
浏览文件 @
f1b02eb9
...
...
@@ -9,19 +9,6 @@ function [index, params, speedup] = flann_build_index(dataset, build_params)
algos
=
struct
(
'linear'
,
0
,
'kdtree'
,
1
,
'kmeans'
,
2
,
'composite'
,
3
,
'kdtree_single'
,
4
,
'hierarchical'
,
5
,
'lsh'
,
6
,
'saved'
,
254
,
'autotuned'
,
255
);
center_algos
=
struct
(
'random'
,
0
,
'gonzales'
,
1
,
'kmeanspp'
,
2
);
log_levels
=
struct
(
'none'
,
0
,
'fatal'
,
1
,
'error'
,
2
,
'warning'
,
3
,
'info'
,
4
);
function
value
=
id2value
(
map
,
id
)
fields
=
fieldnames
(
map
);
for
i
=
1
:
length
(
fields
),
val
=
cell2mat
(
fields
(
i
));
if
map
.
(
val
)
==
id
value
=
val
;
break
;
end
end
end
function
id
=
value2id
(
map
,
value
)
id
=
map
.
(
value
);
end
default_params
=
struct
(
'algorithm'
,
'kdtree'
,
'checks'
,
32
,
'eps'
,
0.0
,
'sorted'
,
1
,
'max_neighbors'
,
-
1
,
'cores'
,
1
,
'trees'
,
4
,
'branching'
,
32
,
'iterations'
,
5
,
'centers_init'
,
'random'
,
'cb_index'
,
0.4
,
'target_precision'
,
0.9
,
'build_weight'
,
0.01
,
'memory_weight'
,
0
,
'sample_fraction'
,
0.1
,
'log_level'
,
'warning'
,
'random_seed'
,
0
);
...
...
@@ -54,3 +41,17 @@ function [index, params, speedup] = flann_build_index(dataset, build_params)
params
.
centers_init
=
id2value
(
center_algos
,
params
.
centers_init
);
end
end
function
value
=
id2value
(
map
,
id
)
fields
=
fieldnames
(
map
);
for
i
=
1
:
length
(
fields
),
val
=
cell2mat
(
fields
(
i
));
if
map
.
(
val
)
==
id
value
=
val
;
break
;
end
end
end
function
id
=
value2id
(
map
,
value
)
id
=
map
.
(
value
);
end
src/matlab/flann_search.m
浏览文件 @
f1b02eb9
...
...
@@ -37,23 +37,9 @@ function [indices, dists] = flann_search(data, testset, n, search_params)
algos
=
struct
(
'linear'
,
0
,
'kdtree'
,
1
,
'kmeans'
,
2
,
'composite'
,
3
,
'saved'
,
254
,
'autotuned'
,
255
);
center_algos
=
struct
(
'random'
,
0
,
'gonzales'
,
1
,
'kmeanspp'
,
2
);
log_levels
=
struct
(
'none'
,
0
,
'fatal'
,
1
,
'error'
,
2
,
'warning'
,
3
,
'info'
,
4
);
function
value
=
id2value
(
map
,
id
)
fields
=
fieldnames
(
map
);
for
i
=
1
:
length
(
fields
),
val
=
cell2mat
(
fields
(
i
));
if
map
.
(
val
)
==
id
value
=
val
;
break
;
end
end
end
function
id
=
value2id
(
map
,
value
)
id
=
map
.
(
value
);
end
default_params
=
struct
(
'algorithm'
,
'kdtree'
,
'checks'
,
32
,
'eps'
,
0.0
,
'sorted'
,
1
,
'max_neighbors'
,
-
1
,
'cores'
,
1
,
'trees'
,
4
,
'branching'
,
32
,
'iterations'
,
5
,
'centers_init'
,
'random'
,
'cb_index'
,
0.4
,
'target_precision'
,
0.9
,
'build_weight'
,
0.01
,
'memory_weight'
,
0
,
'sample_fraction'
,
0.1
,
'log_level'
,
'warning'
,
'random_seed'
,
0
);
if
~
isstruct
(
search_params
)
error
(
'The "search_params" argument must be a structure'
);
end
...
...
@@ -82,3 +68,17 @@ function [indices, dists] = flann_search(data, testset, n, search_params)
[
indices
,
dists
]
=
nearest_neighbors
(
'find_nn'
,
data
,
testset
,
n
,
params
);
end
end
function
value
=
id2value
(
map
,
id
)
fields
=
fieldnames
(
map
);
for
i
=
1
:
length
(
fields
),
val
=
cell2mat
(
fields
(
i
));
if
map
.
(
val
)
==
id
value
=
val
;
break
;
end
end
end
function
id
=
value2id
(
map
,
value
)
id
=
map
.
(
value
);
end
src/matlab/flann_set_distance_type.m
浏览文件 @
f1b02eb9
...
...
@@ -30,10 +30,6 @@ function flann_set_distance_type(type, order)
% Marius Muja, March 2009
distances
=
struct
(
'euclidean'
,
1
,
'manhattan'
,
2
,
'minkowski'
,
3
,
'max_dist'
,
4
,
'hik'
,
5
,
'hellinger'
,
6
,
'chi_square'
,
7
,
'cs'
,
7
,
'kullback_leibler'
,
8
,
'kl'
,
8
);
function
id
=
value2id
(
map
,
value
)
id
=
map
.
(
value
);
end
if
~
isnumeric
(
type
),
type
=
value2id
(
distances
,
type
);
...
...
@@ -43,3 +39,7 @@ function flann_set_distance_type(type, order)
end
nearest_neighbors
(
'set_distance_type'
,
type
,
order
);
end
function
id
=
value2id
(
map
,
value
)
id
=
map
.
(
value
);
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录