From 308e70e7832799babb82af53a3a219a2c35aa6bd Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 31 Oct 2010 03:31:34 +0100 Subject: [PATCH] sift vl2lowe --- bin/convert_vlsift_to_lowesift.pl | 45 +++++++++++++++++++++++++++++++ install.sh | 13 ++++----- run-0-mogrify.sh | 2 +- run-1-get-keypoints.sh | 9 ++++--- run-4-bundle2pmvs.sh | 2 +- 5 files changed, 60 insertions(+), 11 deletions(-) create mode 100755 bin/convert_vlsift_to_lowesift.pl diff --git a/bin/convert_vlsift_to_lowesift.pl b/bin/convert_vlsift_to_lowesift.pl new file mode 100755 index 00000000..153e780e --- /dev/null +++ b/bin/convert_vlsift_to_lowesift.pl @@ -0,0 +1,45 @@ +#!/usr/local/bin/perl + +$filename = $ARGV[0]; + +open (DEST, ">$filename.key"); +open (SRC, "$filename.key.tmp"); + +$resolution_line = `jhead $filename.jpg | grep "Resolution"`; +($res_x, $res_y) = $resolution_line =~ /: ([0-9]*) x ([0-9]*)/; + +$linecount = 0; +$linecount += tr/\n/\n/ while sysread(SRC, $_, 2 ** 16); + +seek(SRC, 0, 0); + +print DEST $linecount; +print DEST " 128\n"; + +printf ("found %d features in %s.jpg\n\n", $linecount, $filename); + +while ($record = ) { + @parts = split(/ /, $record); + + $counter = 0; + + $parts[0] = $res_x-$parts[0]; + + foreach (@parts) { + + if((($counter-4) % 20) == 0) { + print DEST "\n "; + } else { + if($counter != 0){ + print DEST " "; + } + } + + print DEST $_; + + $counter++; + } +} + +close(DEST); +close(SRC); \ No newline at end of file diff --git a/install.sh b/install.sh index 16ca66de..6df6d829 100755 --- a/install.sh +++ b/install.sh @@ -53,7 +53,7 @@ wget -bO bundler.zip http://phototour.cs.washington.edu/bundler/distr/bundler-v wget -bO sift.zip http://www.cs.ubc.ca/~lowe/keypoints/siftDemoV4.zip wget -bO graclus.tar.gz --no-check-certificate https://www.topoi.hu-berlin.de/graclus1.2.tar.gz& PID_GRACLUS=$! wget -bO opencv.tar.bz2 http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.1/OpenCV-2.1.0.tar.bz2/download& PID_OPENCV=$! -#wget -O pmvs.tar.gz --no-check-certificate http://grail.cs.washington.edu/software/pmvs/pmvs-2-fix0.tar.gz& PID_PMVS=$! +wget -bO pmvs.tar.gz http://grail.cs.washington.edu/software/pmvs/pmvs-2-fix0.tar.gz& PID_PMVS=$! #wget -O siftfeat.tar.gz http://web.engr.oregonstate.edu/~hess/downloads/sift/sift-latest.tar.gz #wget -bO siftgpu.tgz http://wwwx.cs.unc.edu/~ccwu/cgi-bin/siftgpu.cgi& PID_SIFTGPU_DL=$! wget -O cmvs.tar.gz http://grail.cs.washington.edu/software/cmvs/cmvs-fix1.tar.gz @@ -64,6 +64,7 @@ wait $PID_SIFT wait $PID_GRACLUS wait $PID_OPENCV wait $PID_VLFEAT +wait $PID_PMVS echo echo ---- unzipping ---- @@ -76,13 +77,13 @@ tar -xzf graclus.tar.gz& PID_GRACLUS=$! unzip -q sift.zip& PID_SIFT=$! tar -xf opencv.tar.bz2& PID_OPENCV=$! #tar -xzf siftfeat.tar.gz& PID_SIFTFEAT=$! -#tar -xzf pmvs.tar.gz& PID_PMVS=$! +tar -xzf pmvs.tar.gz& PID_PMVS=$! git clone git://github.com/vlfeat/vlfeat.git& PID_VLFEAT=$! wait $PID_CLAPACK wait $PID_BUNDLER -#wait $PID_PMVS +wait $PID_PMVS wait $PID_CMVS wait $PID_GRACLUS wait $PID_SIFT @@ -92,7 +93,7 @@ wait $PID_OPENCV rm wget* rm clapack.tgz rm bundler.zip -#rm pmvs.tar.gz +rm pmvs.tar.gz rm graclus.tar.gz rm cmvs.tar.gz rm sift.zip @@ -111,7 +112,7 @@ mv -f graclus1.2 $GRACLUS_PATH mv -f siftDemoV4 $SIFT_PATH mv -f cmvs $CMVS_PATH mv -f OpenCV-2.1.0 $OPENCV_PATH -#mv -f pmvs $PMVS_PATH +mv -f pmvs $PMVS_PATH #mv -f siftfeat $SIFTFEAT_PATH mv -f vlfeat $VLFEAT_PATH @@ -148,7 +149,7 @@ fi sed -i $BUNDLER_PATH/bin/extract_focal.pl -e '18c\ $JHEAD_EXE = "jhead";' sed -i $BUNDLER_PATH/bin/ToSift.sh -e '36c\ echo "SIFT -o $key_file -x $d; gzip -f $key_file"' - +exit echo echo ---- building ---- diff --git a/run-0-mogrify.sh b/run-0-mogrify.sh index 7c266a73..30cb96ae 100755 --- a/run-0-mogrify.sh +++ b/run-0-mogrify.sh @@ -29,6 +29,6 @@ echo echo '[- Scaling images -]' echo -mogrify -resize 1600x1200 -quality 100 * +mogrify -resize 400x300 -quality 100 * exit diff --git a/run-1-get-keypoints.sh b/run-1-get-keypoints.sh index 94b0406c..efa1cea5 100755 --- a/run-1-get-keypoints.sh +++ b/run-1-get-keypoints.sh @@ -4,6 +4,7 @@ BASE_PATH=$(dirname $(which $0)); IMAGE_DIR="." EXTRACT_FOCAL=$BASE_PATH/bin/extract_focal.pl +VLSIFT_TO_LOWESIFT=$BASE_PATH/bin/convert_vlsift_to_lowesift.pl MATCHKEYS=$BASE_PATH/bin/KeyMatchFull BUNDLER=$BASE_PATH/bin/bundler BUNDLE2PVMS=$BASE_PATH/bin/Bundle2PMVS @@ -39,12 +40,14 @@ for d in `ls -1 $IMAGE_DIR | egrep "jpg$"` do key_file=`echo $d | sed 's/jpg$/key/'` pgm_file=`echo $d | sed 's/jpg$/pgm/'` + base_file=`echo $d | sed 's/\.jpg$//'` jpg_file=`echo $d` -# SIFT_CMD="$VLSIFT -o $IMAGE_DIR/$key_file -x $IMAGE_DIR/$jpg_file; gzip -f $IMAGE_DIR/$key_file" - SIFT_CMD="mogrify -format pgm $IMAGE_DIR/$jpg_file; $VLSIFT -v -o $IMAGE_DIR/$key_file $IMAGE_DIR/$pgm_file; rm $IMAGE_DIR/$pgm_file; gzip -f $IMAGE_DIR/$key_file" + VLSIFT_CMD="mogrify -format pgm $IMAGE_DIR/$jpg_file; $VLSIFT -o $IMAGE_DIR/$key_file.tmp $IMAGE_DIR/$pgm_file; rm $IMAGE_DIR/$pgm_file; perl $VLSIFT_TO_LOWESIFT $base_file; rm $IMAGE_DIR/$key_file.tmp; gzip -f $IMAGE_DIR/$key_file" # SIFT_CMD="mogrify -format pgm $IMAGE_DIR/$jpg_file; $SIFT < $IMAGE_DIR/$pgm_file > $IMAGE_DIR/$key_file; rm $IMAGE_DIR/$pgm_file; gzip -f $IMAGE_DIR/$key_file" - eval $SIFT_CMD + + eval $VLSIFT_CMD + done exit diff --git a/run-4-bundle2pmvs.sh b/run-4-bundle2pmvs.sh index 7b468353..db1ddedb 100755 --- a/run-4-bundle2pmvs.sh +++ b/run-4-bundle2pmvs.sh @@ -28,6 +28,6 @@ echo $BUNDLE2PVMS list.txt bundle/bundle.out sed -i $IMAGE_DIR/pmvs/prep_pmvs.sh -e "4c\BUNDLER_BIN_PATH=\"$BASE_PATH\"" -sh pmvs/prep_pmvs.sh#!/bin/bash +sh ../pmvs/prep_pmvs.sh exit