MATLAB CLASS FOR COMPUTING APPROXIMATE NEAREST NEIGHBORS
WRAPPER FOR DAVID M. MOUNT & SUNIL ARYA ANN LIB
This wrapper for Matlab was written by Shai Bagon (shai.bagon@weizmann.ac.il).
Department of Computer Science and Applied Mathmatics
Wiezmann Institute of Science
http://www.wisdom.weizmann.ac.il/~bagon
The core cpp application was written by David M. Mount and Sunil Arya
(available from http://www.cs.umd.edu/~mount/ANN/):
ANN is a library for approximate nearest neighbor searching,
based on the use of standard and priority search in kd-trees
and balanced box-decomposition (bbd) trees. Here are some
references to the main algorithmic techniques used here:
kd-trees:
Friedman, Bentley, and Finkel, ``An algorithm for finding
best matches in logarithmic expected time,'' ACM
Transactions on Mathematical Software, 3(3):209-226, 1977.
Priority search in kd-trees:
Arya and Mount, ``Algorithms for fast vector quantization,''
Proc. of DCC '93: Data Compression Conference, eds. J. A.
Storer and M. Cohn, IEEE Press, 1993, 381-390.
Approximate nearest neighbor search and bbd-trees:
Arya, Mount, Netanyahu, Silverman, and Wu, ``An optimal
algorithm for approximate nearest neighbor searching,''
5th Ann. ACM-SIAM Symposium on Discrete Algorithms,
1994, 573-582.
==============================================================================================
INSTALLATION
1. Extract all files from archive into a directory (i.e., ~/matlab_tools)
2. Make sure you have thefollowing folders created
~/matlab_tools/ann_wrapper
~/matlab_tools/ann_wrapper/@ann
~/matlab_tools/ann_wrapper/@ann/private
3. Open Matlab
4. Add ~/matlab_tools/ann_wrapper to your path
5. If you haven't use Matlab's compiler yet, you need to set it up:
>> mex -setup
Matlab detects any compilers installed on your machine and let you choose from them.
I suggest using visual studio on Windows machines and gcc on Linux.
6. Go to the ann_wrapper directory
>> cd ~/matlab_tools/ann_wrapper
7. Compile the cpp library
>> ann_class_compile
8. Test that everythig is properly installed
>> test_ann_class
9. If there are no error messages - you are good to go.
10. For help on the class type:
>> doc ann
==============================================================================================
USING THE WRAPPER
ANN class
Usage:
anno = ann(pts)
Input:
pts - (d)x(N) matrix of d-dimensional veecotrs representing N points
Output:
anno - object handle to be used in class' methods
Methods:
ksearch:
k-nn search
[idx dst] = ksearch(anno, pt, k, eps, [asm])
idx - indices of matching points: (k)x(#points)
dst - square distance of the points
anno - active ann object handle
pt - query point(s): a (d)x(#points) matrix
k - required k aprox. nearest neighbors
eps - accuracy multiplicative factor
asm - allow self match flag (optional, default: true)
prisearch:
priority search
[idx dst] = ksearch(anno, pt, k, eps, [asm])
see ksearch for inputs/outputs explaination
frsearch:
fixed radius search
[idx dst inr] = frsearch(anno, pt, r, k, eps, [asm])
idx - indices of matching points
dst - square distance of the points
inr - how many points are in r (range query)
anno - active ann object handle
pt - query point (only one this time, (d)x1 vector)
r - search radius (_not_ squared)
k - required k aprox. nearest neighbors. Will return at most k nieghbors
of distance at most r.
eps - accuracy multiplicative factor
asm - allow self match flag (optional, default: true)
note that numel(idx) and numel(dst) = min(k, inr)
inr might be larger than k reflecting how many points are actually
in the search radius.
close:
you MUST explicitly close the ann class handle when you are done with it.
This is crucial for releasing memory and other resources.
anno = close(anno);
==============================================================================================
This software is provided under the provisions of the
Lesser GNU Public License (LGPL).
see: http://www.gnu.org/copyleft/lesser.html.
This software can be used only for research purposes, you should cite
the aforementioned papers in any resulting publication.
The Software is provided "as is", without warranty of any kind.
==============================================================================================
CITATION
If you use this code in a scientific project, you should cite the following works
in any resulting publication:
@INPROCEEDINGS{Mount1993,
author = {Sunil Arya and David M. Mount},
title = {Approximate Nearest Neighbor Queries in Fixed Dimensions},
booktitle = {Proc. 4th Ann. ACM-SIAM Symposium on Discrete Algorithms (SODA)},
year = {1993},
pages = {271-280},
owner = {bagon},
timestamp = {2009.02.04}
}
@ELECTRONIC{Mount2006,
author = {David M. Mount and Sunil Arya},
month = {August},
year = {2006},
title = {ANN: A Library for Approximate Nearest Neighbor Searching},
note = {version 1.1.1},
url = {http://www.cs.umd.edu/~mount/ANN/},
owner = {bagon},
timestamp = {2009.02.04}
}
@ELECTRONIC{Bagon2009,
author = {Shai Bagon},
month = {February},
year = {2009},
title = {Matlab class for ANN},
url = {http://www.wisdom.weizmann.ac.il/~bagon/matlab.html},
owner = {bagon},
timestamp = {2009.02.04}
}
==============================================================================================
没有合适的资源?快使用搜索试试~ 我知道了~
图像拼接是利用国外最新的算法进行特征提取和融合的.zip
共81个文件
m:45个
cpp:16个
h:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 99 浏览量
2023-03-01
15:25:45
上传
评论
收藏 5.75MB ZIP 举报
温馨提示
图像拼接是利用国外最新的算法进行特征提取和融合的.zip
资源推荐
资源详情
资源评论
收起资源包目录
图像拼接是利用国外最新的算法进行特征提取和融合的.zip (81个子文件)
ImagesStitching
Report.docx 4.64MB
Help Functions
Registering
cylinder_projection.m 2KB
warp.m 2KB
KFR.m 6KB
overlap.m 1KB
Different
isrgb.m 77B
Blendidng
BWW.m 1KB
edges4connected.m 819B
dijkstra.m 8KB
BWM.m 995B
BWMV.m 2KB
W4B.m 12KB
sp.m 2KB
RANSC
FindTransform.m 11KB
matrix4equations.m 1KB
rwsample.m 1KB
NormCoord.m 2KB
loadim.m 946B
FP
PlotMatches.m 6KB
ann_wrapper
ann_class_compile.m 778B
ann_wrapper.bib 1KB
README.txt 6KB
@ann
ann.m 4KB
numel.m 215B
display.m 231B
ksearch.m 901B
close.m 234B
clear.m 229B
prisearch.m 907B
private
ANNperf.h 8KB
kd_search.cpp 9KB
kd_fix_rad_search.cpp 7KB
kd_tree.cpp 15KB
bd_tree.h 4KB
kd_pr_search.cpp 9KB
ANNx.h 6KB
kd_util.cpp 15KB
annmex.h 4KB
ANN.h 35KB
modes.m 118B
kd_split.cpp 17KB
perf.cpp 5KB
bd_tree.cpp 16KB
kd_tree.h 8KB
kd_pr_search.h 2KB
bd_pr_search.cpp 3KB
bd_search.cpp 3KB
get_data_class.m 135B
kd_fix_rad_search.h 2KB
bd_fix_rad_search.cpp 3KB
ANN.cpp 6KB
brute.cpp 4KB
my_mex_mem.cpp 658B
my_mex_mem.h 300B
pr_queue.h 5KB
kd_search.h 2KB
annmex.cpp 11KB
kd_split.h 4KB
kd_dump.cpp 17KB
kd_util.h 5KB
pr_queue_k.h 4KB
frsearch.m 938B
test_ann_class.m 3KB
matchFPoints.m 10KB
win2ind.m 671B
pdist2.m 5KB
descriptFPoints.m 8KB
asift.m 6KB
mainOrient.m 6KB
sift.m 3KB
Findlclmxm.m 3KB
kNearestNeighbors.m 1KB
PlotFP.m 3KB
harrislpls.m 7KB
sift2.m 3KB
pano.m 38KB
ImPano.jpg 154KB
mf.m 605B
Test
f2.jpg 535KB
f1.jpg 560KB
test.m 110B
gg
A
22
共 81 条
- 1
资源评论
GZM888888
- 粉丝: 147
- 资源: 2912
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于串口通信的光通信上位机,包括运动控制和通信协议
- 串口与以太网文件传送协议(或自定义控制协议)
- Qt开发windows系统安装教程与代码实例.txt
- QT6实现的附带文件传输协议的串口终端
- 一个串口通讯类和调用Demo 通过设置串口、设置串口自定义协议,可方便对串口发送数据与接收数据
- 华为OD模拟题及参考答案.仅供学习和模拟考试使用
- stm32f103c8t6基于modbus协议和使用串口读取温湿度
- 英雄联盟LOL金克斯4K电脑壁纸
- Microbrain道闸产品上位机,以MahApps库为基础搭建界面,集成了串口(UART)、CAN、WIFI通信,十六进制协议
- Android串口通讯, 支持发送数据回调, 支持并发处理, 自定义协议, CRC校验, 自动粘包, 自动去除冗余的干扰数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功