今天开始磕代码部分。
part1:
1、
sift特征提取。
img1_Feat = cvCloneImage(img1);//复制图1,深拷贝,用来画特征点 img2_Feat = cvCloneImage(img2);//复制图2,深拷贝,用来画特征点 //默认提取的是LOWE格式的SIFT特征点 //提取并显示第1幅图片上的特征点 n1 = sift_features( img1, &feat1 );//检测图1中的SIFT特征点,n1是图1的特征点个数 export_features("feature1.txt",feat1,n1);//将特征向量数据写入到文件 draw_features( img1_Feat, feat1, n1 );//画出特征点 cvNamedWindow(IMG1_FEAT);//创建窗口 cvShowImage(IMG1_FEAT,img1_Feat);//显示 //提取并显示第2幅图片上的特征点 n2 = sift_features( img2, &feat2 );//检测图2中的SIFT特征点,n2是图2的特征点个数 export_features("feature2.txt",feat2,n2);//将特征向量数据写入到文件 draw_features( img2_Feat, feat2, n2 );//画出特征点 cvNamedWindow(IMG2_FEAT);//创建窗口 cvShowImage(IMG2_FEAT,img2_Feat);//显示
【啥也没有啊~3个积分并不想下载。头文件啥的毛儿也没有。。。
所以想法是随便从以前的工程里面拉一个头文件啥的然后看看能不能过,能过最好,不能过,再去百度看相关函数属于什么头文件。】
断点:sift_features属于sift.c。
现在比较重要的点在于融合。先把前面的先弄出来,这样没有sift.c和sift.h,所以先搞定他们。原文直接给了源码分析,所以利用源码必然能让这两个文件复活。。。
复活所需祭祀灵魂:
http://blog.csdn.net/masibuaa/article/details/9207657
sift.h 是没问题的,但是sift.c 并不能跑,因为这还需要其他头文件的支持。
断点:差这两个头文件。
#include "imgfeatures.h"
#include "utils.h"
找到:http://blog.csdn.net/masibuaa/article/details/9204157
断点:
两个地方都说没有utils.h文件。
utils.c 有问题这里面有gtk的东西,果然是有麻烦。接下来貌似还非得把我的msvc 加上这样一个gtk的东西。
点着点着直到配置完了环境变量意识到自己走远了。
https://wiki.gnome.org/Projects/GTK+/Win32/MSVCCompilationOfGTKStack
http://jingyan.baidu.com/article/642c9d34e999d5644a46f730.html
这两个方式自己选一个靠谱的吧。
没有 all-in-bundles了。。。婊婊不开心。。。
待续
5.15
今天早上 半醒半梦,想到了这么一回事儿。首先这个 gtk没有非安不可的必要。只是一个显示而已。利用imshow也可以的。这不过是替代了mfc。或者甚至根本不用他显示都可以。
在一个,貌似也根本用不是sift.c只要sift.h就可以,如果实在不行,就去原文翻译一下吧。把gtk纳入进来,然后给他们发邮件。出中文版教程,如果我也抛出相关环境的话。