资源简介
调用RobHess所写实现SIFT代码,其中包含源码可以很好的学习SIFT及K-D树、BBF和RANSAC等算法的代码实现过程!
代码片段和文件信息
/*
Functions and structures for dealing with image features
Copyright (C) 2006-2010 Rob Hess
@version 1.1.2-20100521
*/
#include “utils.h“
#include “imgfeatures.h“
#include
#include
static int import_oxfd_features( char* struct feature** );
static int export_oxfd_features( char* struct feature* int );
static void draw_oxfd_features( IplImage* struct feature* int );
static void draw_oxfd_feature( IplImage* struct feature* CvScalar );
static int import_lowe_features( char* struct feature** );
static int export_lowe_features( char* struct feature* int );
static void draw_lowe_features( IplImage* struct feature* int );
static void draw_lowe_feature( IplImage* struct feature* CvScalar );
/*
Reads image features from file. The file should be formatted as from
the code provided by the Visual Geometry Group at Oxford:
@param filename location of a file containing image features
@param type determines how features are input. If \a type is FEATURE_OXFD
the input file is treated as if it is from the code provided by the VGG
at Oxford:
http://www.robots.ox.ac.uk:5000/~vgg/research/affine/index.html
If \a type is FEATURE_LOWE the input file is treated as if it is from
David Lowe‘s SIFT code:
http://www.cs.ubc.ca/~lowe/keypoints
@param features pointer to an array in which to store features
@return Returns the number of features imported from filename or -1 on error
*/
int import_features( char* filename int type struct feature** feat )
{
int n;
switch( type )
{
case FEATURE_OXFD:
n = import_oxfd_features( filename feat );
break;
case FEATURE_LOWE:
n = import_lowe_features( filename feat );
break;
default:
fprintf( stderr “Warning: import_features(): unrecognized feature“ \
“type %s line %d\n“ __FILE__ __LINE__ );
return -1;
}
if( n == -1 )
fprintf( stderr “Warning: unable to import features from %s“ \
“ %s line %d\n“ filename __FILE__ __LINE__ );
return n;
}
/*
Exports a feature set to a file formatted depending on the type of
features as specified in the feature struct‘s type field.
@param filename name of file to which to export features
@param feat feature array
@param n number of features
@return Returns 0 on success or 1 on error
*/
int export_features( char* filename struct feature* feat int n )
{
int r type;
if( n <= 0 || ! feat )
{
fprintf( stderr “Warning: no features to export %s line %d\n“
__FILE__ __LINE__ );
return 1;
}
type = feat[0].type;
switch( type )
{
case FEATURE_OXFD:
r = export_oxfd_features( filename feat n );
break;
case FEATURE_LOWE:
r = export_lowe_features( filename feat n );
break;
default:
fprintf( stderr “Warning: export_features(): unrecognized feature“ \
“type %s line %d\n“ __FILE__ __LINE__ );
return -1;
}
if( r )
fprintf(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-19 22:17 SIFT_RANSAC_RobHess\
目录 0 2017-03-19 21:07 SIFT_RANSAC_RobHess\Debug\
文件 110080 2017-03-19 21:09 SIFT_RANSAC_RobHess\Debug\SIFT_RANSAC_RobHess.exe
文件 653724 2017-03-19 21:09 SIFT_RANSAC_RobHess\Debug\SIFT_RANSAC_RobHess.ilk
文件 1739776 2017-03-19 21:09 SIFT_RANSAC_RobHess\Debug\SIFT_RANSAC_RobHess.pdb
目录 0 2017-03-19 15:55 SIFT_RANSAC_RobHess\ipch\
目录 0 2017-03-19 19:12 SIFT_RANSAC_RobHess\ipch\sift_ransac_robhess-85cf73db\
文件 2752512 2017-03-19 19:12 SIFT_RANSAC_RobHess\ipch\sift_ransac_robhess-85cf73db\sift_ransac_robhess-e547a7ee.ipch
目录 0 2017-03-19 21:08 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\
文件 16797696 2017-03-19 22:17 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess.sdf
文件 924 2017-03-19 15:55 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess.sln
文件 34304 2017-03-19 22:17 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess.suo
文件 48824 2010-05-21 12:48 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\beaver.png
文件 39513 2010-05-21 12:48 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\beaver_xform.png
目录 0 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\
文件 16094 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\cl.command.1.tlog
文件 106662 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\CL.read.1.tlog
文件 20516 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\CL.write.1.tlog
文件 45462 2017-03-19 20:22 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\imgfeatures.obj
文件 30662 2017-03-19 20:22 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\kdtree.obj
文件 2 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 2 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 2 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 2 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 2 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 2 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 5748 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 12102 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 3200 2017-03-19 21:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\li
文件 17959 2017-03-19 17:09 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\match.obj
文件 16190 2017-03-19 20:22 SIFT_RANSAC_RobHess\SIFT_RANSAC_RobHess\Debug\minpq.obj
............此处省略44个文件信息
相关资源
- Morgan Kaufmann - Transactional Information Sy
- SIFT经典文献.zip
- 拼接算法SIFT.rar
- Transactional Information Systems
-
ImageRegistrationba
sedonSIFT.rar - sift算法详解及应用(特别详细版)
- Opencv下利用SIFT、SURF、ORB三种特征点实
- SIFT算法实现图像自动配准
- openc基于SIFT和Surf特征的目标跟踪
- 基于SIFT算法的图像特征提取系统的研
- SIFT算法详解及应用(讲的很详细)
- surf算法详解
- Transactional Memory 2nd edition - Synthesis L
- fragment+radioButton实现底部菜单切换fr
- sift.rar
- sift DemoV4
- SIFT提出者David Lowe1999-2004发表的4篇文
- Distinctive Image Features from Scale-Invarian
- SIFT\\PCA-SIFT\\SURF论文源代码
- SIFT、SURF、ORB的区别与联系
- Blind Copy-Paste Detection Using SIFT Ring Des
- protobuf-cpp-3.1.0.tar.gz 配置文件
- 图像局部不变性特征与描述.pdf 王永明
- sift 几篇英文文献
- 计算机视觉SIFT算子OPENCV3.0详细实现未
- Transaction Processing Concepts and Techniques
- SIFT算法实现及代码详解239444
- LBP/HOG/SIFT/SURF特征SVM的trainAuto范例
- 基于SIFT算法的特征提取(VS2015+OpenC
- SURF算法+单应矩阵+RANSAC算法实现拼接
评论
共有 条评论