MATLAB コマンド vl_sift (およびコマンド ライン ユーティリティ) は、フレーム オプションを使用して、検出器をバイパスし、カスタム フレームの記述子を計算できます。
たとえば、位置 (100,100) を中心とし、スケール 10、向き -pi/8 の SIFT フレームの記述子を次のように計算できます。
fc = [100;100;10;-pi/8] ;
[f,d] = vl_sift(I,'frames',fc) ;
複数のフレーム fc を指定することもできます。この場合、それらはスケールの増加によって並べ替えられます。Orientations オプションは、カスタムの位置とスケールを使用するようにプログラムに指示しますが、次のようにキーポイントの向きを計算します。
fc = [100;100;10;0] ;
[f,d] = vl_sift(I,'frames',fc,'orientations') ;
ローカルの外観によっては、キーポイントに複数の向きがある場合があることに注意してください。さらに、一定の画像領域 (1 ピクセル領域など) で計算されたキーポイントには方向がありません。
チェックアウトhttp://www.vlfeat.org/overview/sift.html。vl_feat は本当にきちんとしていて、とても使いやすく、インストールも簡単です。