Hessian-Affine extractor and the SIFT descriptor

来源:互联网 发布:倩女幽魂手游 mac登陆 编辑:程序博客网 时间:2024/06/02 19:26

前情提要:在利用著名图像检索库yael测试vlad和fisher vector算法时发现使用INRIA实验室提供的提取好的holidays 数据集和对应的特征点能够达到论文中说的精度。但是当利用Opencv提取的sift特征点进行测试,发现效果很差。经过分析发现,opencv提取的sift特征点和siftgeo中的特征点数据类型不同。所以选择采用和INRIA实验室相同的方法来提取特征。

脚本如下:

 10 infile=test.jpg 11 tmpfile=${infile/jpg/pgm} 12 outfile=${infile/jpg/siftgeo} 13  14 #Rescaling and intensity normalization 15 cmd_pgm_1=$(echo djpeg $infile) 16 cmd_pgm_2=$(echo ppmtopgm) 17 cmd_pgm_3=$(echo pnmnorm -bpercent=0.01 -wpercent=0.01 -maxexpand=400) 18 cmd_pgm_4=$(echo pamscale -pixels $[1024*768]) 19  20 echo "time $cmd_pgm_1 |$cmd_pgm_2|$cmd_pgm_3|$cmd_pgm_4>$tmpfile" 21  22 time $cmd_pgm_1|$cmd_pgm_2|$cmd_pgm_3|$cmd_pgm_4>$tmpfile 23  24 #Compute descriptors 25 CMD_PATH=/superdb/jl/extract_sift 26 COMPUTE_DESCRIPTORS_CMD=compute_descriptors 27 cmd_compute=$(echo time \ 28               ${CMD_PATH}/${COMPUTE_DESCRIPTORS_CMD}\ 29               -i $tmpfile\ 30               -o4 $outfile\ 31               -hesaff\ 32               -sift) 33  34 echo $cmd_compute 35 $cmd_compute

结果如下:
这里写图片描述

下面来说一下具体的配置过程和使用方法:
1、http://lear.inrialpes.fr/~jegou/data.php 打开该网页下载具体的提取compute_descriptors可行性程序。由于我的是ubuntu系统我下载的是这个:
这里写图片描述
注意:这里下载这个新版本后面就不需要安装ImageMagick了。
2、下载djpeg 并且安装
http://libjpeg.sourceforge.net/
安装步骤:
./configure
make
sudo make install
注意这里可能会遇到 ./configure: /bin/sh^M: bad interpreter: No such file or directory 问题
解决方法如下: vim configure :set fileformat=unix

3、下载和安装netpbm
https://sourceforge.net/projects/netpbm/files/archive_of_old_release_system/
这里可以下载不同的版本。
安装步骤:
cd $netpbm
mkdir netpbmbuild #这是为了保护源代码的干净,名字随你便
cd netpbmbuild
../configure
make
make package
cd ..
installnetpbm
注意:
(1)在../configure时候要根据提示指定lbjpeg的路劲
(2)如果make的时候出现我make的时候
报这个错误,libpm.c:25:21: fatal error: compile.h: No such file or directory include “compile.h”是因为前面的文件没有权限因此没能生成compile.h。仔细阅读错误提示。
全部安装完以后就会在/usr/local/netpbm下生成一下bin lib等文件。这时候要配置一下系统环境变量我是在.bashrc文件下配置的。

export PATH=$PATH:/usr/local/netpbm/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/netpbm/lib

配置完成以后注意如果运行上面的脚本出现symbol link error等情况,可能是和系统中自带的netpbm中的命令冲突,我这里把/usr/bin下面的冲突命令删除了。也可以在脚本中显示的指明用的是哪个命令。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 两个人在一起性格不合怎么办 赌在你身上输了怎么办 苹果7lcould满了怎么办 e招贷不用了怎么办 牙活动了怎么办还疼 30岁掉了一颗牙怎么办? 在淘宝上交话费交错了怎么办 演出队在小区旁边扰民怎么办 雷雨天加了油怎么办 戴ok镜眼睛重影怎么办 乌龟背上长白色的花纹怎么办? 全自动洗衣机里面掉个硬币怎么办 跆拳道课上孩子乱动说话怎么办? 孩子不愿意上跆拳道课了怎么办 车座位里面倒了汤怎么办 腿被棍子打肿了怎么办 刚买的手机碎屏怎么办 被木棍么么打到头项怎么办 大王卡用到40g怎么办 王卡40g用完了怎么办 父亲把母亲打成重伤怎么办 狗狗脖子摔歪了怎么办 吃鸡游戏中重伤怎么办 吃鸡游戏摔伤了怎么办 现在没能力偿还网贷怎么办 上海找夜场工作被骗了怎么办? 买了烂尾的楼盘怎么办 孕七个月蛀牙疼怎么办 宝宝只吃一边奶怎么办 实房付了定金后悔了怎么办 开车时遇到意外事故时怎么办 没干过影楼门市怎么办 uplay下载游戏速度0k怎么办 缓刑期间被别人打成轻伤怎么办 缓刑期间被别人打了怎么办 有缓刑被别人打怎么办 检察院不予立案怎么办公安局取保 监外执行过了又犯罪怎么办 监视居住期间再次犯罪怎么办 前妻有贷款跑了怎么办 未成年犯有缓刑罪继续犯罪怎么办