2

画像の座標 ( x 、 y ) で、中央の座標を持つ 5X5 隣人のパッチ サイズでシフト記述子を見つけたいと思います。

その背後にある意図は、その座標で取得した方向の値を分析して、さらに処理することです。

これを可能にするmatlabの方法はありますか?

私はvl_dsiftを理解しようとしましたが、これはすべてのポイントで記述子をふるいにかけ、必要な座標だけに使用する可能性がありますが、使用方法を理解できませんでした...

誰かが私を助けてくれますか、それともより良い代替案を提案してくれますか?

4

1 に答える 1

4

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 は本当にきちんとしていて、とても使いやすく、インストールも簡単です。

于 2013-01-16T15:27:19.977 に答える