① 如何本地安装SIFT
SIFT的实现有很多版本,具体方式都是那么几个,找个好用的不太容易,因为对于代码不熟练者各种版本用起来都有点水土不服,需要调整调整才行。本人是在VS2010下使用的Rob Hess的源码。
一、前提
安装Opencv,详见:VS2010+Opencv-2.4.0的配置攻略(该版本SIFT是基于Opencv的)。
下载SIFT源码,见Rob Hess的主页(别告诉我不懂英文不知道下载链接在哪,下那个Windows VC++的版本 sift-latest_win.zip)。
二、测试
1、解压sift源码,发现有如下文件:
5、C语法设定:分别打开imgfeatures.h和sift.h,让所有函数包含在
#ifdef __cplusplusextern"C"{#endif
和
#ifdef __cplusplus }#endif
之间。例如:
View Code
... #ifdef __cplusplusextern"C"{#endif...externintsift_features( IplImage* img,structfeature**feat ); ...externint_sift_features( IplImage* img,structfeature** feat,intintvls,doublesigma,doublecontr_thr,intcurv_thr,intimg_dbl,intdescr_width,intdescr_hist_bins ); #ifdef __cplusplus }#endif#endif
PS:我只是用了_sift_features(...)等几个函数,所以只加了两个头文件的C语法声明,如果是用了其他的头文件,均需要添加。
6、综上,你应该可以直接使用sift相关函数了,参照siftfeat.c中的写法,用用_sift_features(...)试试!
实际上如果只需要使用SIFT特征提取的函数,前面几步只需要复制imgfeatures.c imgfeatures.h sift.c sift.h utils.c utils.h这6个文件就够了
② 图像配准技术是怎么实现图像的特征匹配的
SIFT图像处理代码,必须和三个文件一起下载使用:基于SIFT特征的图像配准(Matlab源代码)、基于SIFT特征的图像配准(仿真图片)
使用SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。
③ C++中基于opencv的sift算法中用高斯金字塔对图片进行处理,该怎么把经高斯金字塔处理的图片每一张都显示
buildGaussianPyramid 函数的输出 pyr 就是高斯金字塔了 ,直接imshow(pyr[i]),应该就可以了
④ sift 绠楁硶matlab浠g爜瑙f瀽锛屾眰澶ц栌鎸囧 绾㈣壊鏂规咺1涓轰互锲剧墖锛岀敤I1鍑忓幓min(I1(:))鏄锅氢粈涔堢敤镄勶纻锛燂纻
褰掍竴鍖栵纴鎶婂浘镀忕殑镀忕礌鍊煎綊涓鍖栧埌[0 1]锣冨洿閲屻傝繖镙峰仛鍙浠ュ拷鐣ユ帀锲惧儚浜搴︾殑鍙桦寲銆