本文记录了在CentOS6.5上编译Sift的开源实现OpenSift的编译过程,同一时候记录了编译过程中的几个问题.
sift的理论已经有非常多了,以下会给出链接:
1.Requirements
a.OpenCV
All code in this package requires the OpenCV library (known working version is 2.3):http://sourceforge.net/projects/opencvlibrary/
b.GDK/GTK+2
Some functions require GDK/GTK+2 (known working version is 2.18.4): http://www.gtk.org/
opencv的安装能够看CentOS6.5上配置Python2.7+OpenCV2.4.7
2.Build
从github下载源代码,解压如图
作者给出的build和使用过程
To build everything, use make:
#make
This should produce a few executables in bin/, a static library lib/libopensift.a, and some HTML documentation in docs/.
You can use the -h argument to get help with any of the executables. libopensift.a can be compiled into your own code using the standard method:
#gcc -I/path/to/opensift/include/ -L/path/to/opensift/lib/ yourcode.c -o yourexecutable -lopensift
The documentation in docs/ describes all of the functions available in libopensift.a as well as
#defines, etc. Use the documentation to determine what header files from include/ to include in your code.
You can also individually build any of the executables or libopensift.a, e.g.
照做,非常明显,一般人make完了都会有错。错误例如以下:
确认你已经安装了opencv和gtk,然后出现上图错误的话肯定就是编译设置的问题了,
提示信息已经说了:
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable,
就是说pkg-config找不到opencv.pc,那就找到opencv.pc,cp到/usr/lib/pkgconfig下
#find / -name opencv.pc
安装文件夹就是/usr/lib/pkgconfig/opencv.pc了。拷贝到pkgconfig下
#cp /usr/local/lib/pkgconfig/*.pc /usr/lib/pkgconfig。然后再又一次make。没报错就Ok了
3.test
# bin/match beaver.png beaver_xform.png,报错例如以下:
opencv的动态库没找到。改动例如以下:
# vim /etc/ld.so.conf
加入/usr /local/lib(这里是opencv安装后的库文件夹)
#ldconfig
又一次运行下,效果如图:
相关链接:
http://robwhess.github.io/opensift/(opensift介绍)
https://github.com/robwhess/opensift(opensift源代码)
http://www.cs.ubc.ca/~lowe/keypoints/(sift)
http://www.robots.ox.ac.uk:5000/~vgg/research/affine/index.html
http://blog.csdn.net/onlyzkg/article/details/11570965(理论)
http://blog.csdn.net/abcjennifer/article/details/7639681(理论)
http://cgwxyz.blog.163.com/blog/static/262806020105307929424/(编译错误)
http://blog.sina.com.cn/s/blog_54f82cc201011ve4.html(编译错误)