問題タブ [feature-descriptor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
image-processing - SURFインタレストポイントパラメータ
-p1コマンドを使用してSURFへの入力として代替インタレストポイントを提供したいと思います(作成者の実装を使用しています:http ://www.vision.ee.ethz.ch/~surf/download.html )。しかし、パラメータをどうすればよいかわかりません。
私はx,y,a,b,c
、各関心点について、READMEに従って、a=c
およびradius= 1/a^2
([a,b;b,c]
2次モーメント行列のエントリである)を与える必要があります。しかし、surfのIP検出の出力ファイルを見ると、a、cパラメーターは常に非常に小さいです(例0.003
)。の場合radius=1/a^2
、それは1/(0.003^2) > 100.000
ピクセルの領域半径を与えます。READMEファイルを誤って解釈していますか、それともa,c
surfが返すパラメーターが正しくありませんか?
image - DMatch ベクトルの処理、データへのアクセス Opencv
私はすでに記述子を計算していますが、キーポイントからフロートに変換する前に、外れ値をきれいにしたいと思います。
私はこれが自動的に行うことができることを知っています
しかし、これは、次のステップが一致を描画する場合にのみ役立ちます。実際に私がやりたいのは、いくつかの画像レジストレーションで後処理するための最良の 25 の一致を取得することです。
どんな助けでも役に立ちます。ありがとう
イヴァン
opencv - SurfDescriptorExtractor は記述子マトリックスを作成しません
OpenCV の SurfDescriptorExtractor に問題があります。マトリックスはまったく作成されません。
問題は、私が重要なポイントを押し付けているということです。現在、デバッグするために、それらのうちの 4 ~ 5 つしか使用していません。cv::Keypoint でキー ポイントを作成し、既定のコンストラクターを使用します。ポイントとオクターブの座標を 3 に設定しました。残りは触れません。
ここに私がやっていることのコードがあります:
そして、これがキーポイントを作成する方法です。これがループの内容です。
では、extractor に記述子に何かを書き込むように強制する方法はありますか?
java - Androidで記述子を実装できません
2 つの画像の一致を見つけるためのアプリケーションを作成しています。試合結果がうまく検索できません。
マッチング メソッドは、入力キーポイントと同じ数の記述子を提供し、この結果を描画することもできません。ワークスペースのライブラリとして OpenCV を使用しています。
これが私のコードです。
c++ - キーポイント記述子マトリックスopencvの値の出力
opencv記述子エクストラクタの「compute」メソッドを使用して取得した記述子行列の値を出力するのに問題があります。機能の記述子を1つずつファイルに出力したいのですが、記述子マトリックスのある要素に「at」でアクセスすると、その要素に対して異なる値を受け取ります。以下は、「at」を使用するときに記述子行列の出力値をテストするために使用した「for」ループです。
2番目の「if」はテストです。「if」記述子の要素にアクセスするときに出力される値を確認しました。今、によって印刷されます
nF-2の反復で、次の結果が得られます。
そして予想通り、最初の2つは2番目の'if'の中に印刷されます。
ください[20]
しかし、他の2つのプリント
と
20ではなく0を指定してください。前に示したnF-2行で、「at」を使用して要素にアクセスして出力したときの完全な結果は次のとおりです。
これは私が期待していたものとは完全に異なります。私はすでに多くのことを試しました。intだけでなくfloat、double、unsigned intを使用してキャストし、それらの型の変数にも割り当てます。印刷する前にマトリックスを変換し、マトリックスをコピーしてから変換し、異なるタイプの記述子マトリックスを作成します...しかし、それらはどれも機能しませんでした。記述子マトリックスのタイプと関係があると思いますが、ucharタイプであるとほぼ確信しています(elemSizeで確認しました)
よろしくお願いします。私の英語と質問のサイズについて申し訳ありません。
matlab - Mikolajczykの評価フレームワークを機能検出器/記述子に使用するにはどうすればよいですか?
Mikolajczyk et。によるデファクトスタンダードフレームワークを使用して、SURF記述子の実装の正確さを評価しようとしています。al。私はOpenCVを使用してSURF機能を検出および記述し、記述子実装への入力と同じ機能位置を使用しています。
記述子のパフォーマンスを評価するには、フレームワークで最初に検出器の再現性を評価する必要があります。残念ながら、再現性テストでは、各フィーチャの周囲の画像領域のサイズと方向を定義する楕円パラメータとともに、フィーチャの位置のリストが必要です。ただし、OpenCVのSURF検出器は、フィーチャの位置、スケール、および方向のみを提供します。
関連する論文は、2次モーメント行列の固有値からこれらの楕円パラメーターを繰り返し計算することを提案しています。これが唯一の方法ですか?私が見る限り、これにはOpenCVをいじる必要があります。後で(Matlabなどで)これらの楕円パラメーターを機能リストと入力画像から計算する方法はありませんか?
誰かがこのフレームワークを使って作業したことがあり、洞察や指針を手伝ってくれる人はいますか?
c++ - gpu機能記述子から変換されたopencv機能記述子の問題
以下を使用して、openvcを使用してGPU機能記述子マトリックスをCPU機能記述子マトリックスに変換する際に問題が発生しました。
ご覧のとおり、このメソッドは、記述子を保持しているGpuMatを、記述子を保持しているfloatのベクトルに変換します。0
問題は、このベクトルの一部の要素にアクセスすると、返される値が〜の予想される間隔とはかなり異なること255
です。抽出の時間を比較するために次のテストプログラムを作成しましSURF_GPU
たSURF
。
の要素を確認すると、の要素にアクセスしたときに取得するように、とdescriptorsConverted
の間の値を取得することを期待していました。代わりに、次のような値を取得しました。0
255
descriptorsCPU
この問題はdownloadDescriptors
、floatベクトルを返すことは明らかですが、によって返される型に関連していると思われます。
opencv - SIFT記述子マッチングの効率的な方法
2 つの画像 A と B があります。それらからキーポイント (a[i] と b[i]) を抽出します。
a[i] と b[j] の一致を効率的に判断するにはどうすればよいでしょうか。
明白な方法は、A の各ポイントを B の各ポイントと比較することですが、大規模な画像データベースでは時間がかかります。ポイントa[i]とb[k]だけを比較するにはどうすればよいですか
kd-treeが良い選択かもしれないと聞きましたね。kd-treeに関する良い例はありますか?
他の提案はありますか?