OpenSift源码编译过程记录

本文记录了在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(编译错误)

时间: 2024-08-29 14:17:48

OpenSift源码编译过程记录的相关文章

lnmp环境源码编译安装记录

系统:Cenos 6.5 X64 软件: tengine-2.0.3.tar.gz pcre-8.33.tar.bz2 mysql-5.6.12.tar.gz php-5.5.14.tar.bz2 一.安装nginx 1.1 安装nginx所需的pcre-devel库,使nginx支持HTTP Rewrite模块 [[email protected]]# ./configure --prefix=/home/webserver/pcre  && make && make i

Android 4.4源码编译过程

Android源码下载完后的目录如下: 整个代码的大小为:25.559GB. 一.构建系统 如下用于构建Android源码树的指令应用于所有的代码分支,包括master分支. 1.选择分支 构建系统的一些要求是由将要选择编译的源代码的版本决定的.通过网址http://source.android.com/source/build-numbers.html来查看当前Android所有的分支列表.可以选择下载和构建最新的源代码(称为“master”),在这种情况下,当初始化库时,可直接省去了指定分支

mysql5.7.10 源码编译安装记录 (centos6.4)【转】

一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系统自带mysql yum -y remove mysql-* //卸载mysql rpm -e --nodeps mysql-5.1.73-3.el6_5.x86_64 //卸载mysql 1.2 卸载系统自带boost,并安装boost_1_59_0 mysql 5.7 依赖于boost_1_59

Mariadb源码编译过程

从微博上看到有人提及Mariadb,搜索了一下,找到地址https://mariadb.org/,这是mysql的一个分支,由原作者维护,意在与oracle分庭抗礼,避免oracle将来毕源. 目前版本Mariadb 10.0.10,我下载了一个,准备编译一个64位版本,下载地址: https://downloads.mariadb.org/mariadb/10.0.10/ 下载后用cmake编译一下试试,进入cmake图形界面,编译器选择vs12.0 win64 Warning: Bison

nginx源码编译以及源码编译过程中遇到的问题

原帖地址:https://www.cnblogs.com/operationhome/p/8964191.html 本文主要讲nginx安装以及安装过程中遇到的问题. 谈到nginx 必须聊聊它的起源和发展. nginx是由俄罗斯工程师Igor Sysoev 用C语言开发的一个免费开源的Web服务器软件,于2004年发布,聚集轻量级.高并发.高性能.低消耗等一系列优点.目前Nginx是互联网上仅次于Apache的第二流行的Web服务器软件. 接下来我们开始安装nginx,我们下面是以centos

Android源码编译过程

http://my.oschina.net/zhoulc/blog/170698 http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html 注意: 1,不要使用64位ubuntu 2,务必分配4g或者以上的swap空间 系统定制基本流程:获取源码 --> 修改源码(包括修改和裁剪)--> 编译修改后的源码 --> 得到目标系统文件 --> 移植系统 --> 测试成功 --> 完成 一,源码下载 谷歌搜索

Hadoop源码编译过程

一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通过本地库,Hadoop可以更加高效地执行某一些操作. native目录是本地库,位于hadoop-2.x.x/lib/native目录下,仅支持linux和unix操作系统. hadoop中的zlib和gzip模块会加载本地库,如果加载失败,会提示: 16/07/06 12:18:24 WARN u

Eclipse SmartHome源码编译过程

Eclipse SmartHome是一个开源的构建智能家居的解决方案,应用于网关,解决了不同供应商智能设备,接入统一网关的问题,给终端用户带来了便利.很多的IOT云平台商,都是在它基础上构建而来,包括国内的华为IOT云架构. 在本地构建Eclipse SmartHome是非常痛苦的过程,尤其是通过官方提供,通过Eclipse安装器,安装Eclipse SmartHome环境方案,多次安装都失败,跟国内墙也要关系,无奈去github下载Eclipse SmartHome源码,本地编译.(https

【hadoop 2.6】hadoop 2.6源码编译过程,redhat 5.8操作系统进行编译【附:软件下载】

大家在官网下载hadoop2.6安装完使用的时候,总是在控制台有这样一句 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 因为官网给的32位系统编译的版本,在64位的操作系统上使用就需要自己编译源码了 下面介绍下我的编译过程: 这里是下载了maven,ant,findbugs,分别解压后