Fast SIFT Image Features Library は,SIFT 画像特徴量を求めるライブラリで,Octave/Matlab のスクリプト,コマンドラインインタフェース,python インタフェースを持つ.
この Web ページで行うこと
SIFT 画像特徴量のうち座標値 (x,y) をプロットしたもの
謝辞: Fast SIFT Image Features Library は高速で動き,良質のソフトウェアだと感じています.Fast SIFT Image Features Library の作者様に直接,この Web ページに関するコメント等頂きまして,とても有難く思っています.
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行.
Ubuntu のインストールは別ページで説明している
sudo apt -y update sudo apt -yV upgrade sudo /sbin/shutdown -r now
インストールするには,端末で,次のコマンドを実行.
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config
インストールするには, 端末で,次のコマンドを実行.
sudo apt -y update sudo apt -y install cmake cmake-curses-gui cmake-gui curl
ダウンロードしたファイルは /tmp に置くことにする
cd /tmp tar -xvzof libsiftfast-1.2-src.tgz
cd libsiftfast-1.2-src cat README
■ 実行結果の例 (Ubuntuの場合)
■ 実行結果の例 (Ubuntuの場合)
siftfast を使って PGM 画像ファイル(濃淡画像) から SIFT 特徴量を求めてみます
ImageMagick の convert コマンドを使うと, PGM 画像ファイルを簡単に作ることができる.
convert lena_std.jpg lena_std.pgm display lena_std.pgm
curl -O https://www.kkaneko.jp/sample/lena_std.pgm siftfast < lena_std.pgm > lena_std.key
ここでの実行例では time を付けて時間を計ることにしている.確かに速い(と思います).
cat /usr/local/share/siftfast/octave/siftfast.m
※ 「lena_std.jpg」の部分は画像ファイル名に書き換えて使ってください.
curl -O https://www.kkaneko.jp/sample/lena_std.jpg octave
addpath('/usr/local/share/siftfast/octave') [rgb, map, alpha] = imread("lena_std.jpg"); mono = rgb2gray( rgb ); colormap(gray(256)); imshow(mono); MA = double( 1 / double( max(max( mono ))) ); [frames, descriptors] = siftfast( double(mono) * MA );
※ addpath ... の実行を忘れると,次のようなエラーが出る.
hold imshow(mono) plot(frames(1,:), frames(2,:), '@')