問題タブ [keypoint]

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.

0 投票する
0 に答える
1491 参照

python - Python、cv2、独自のキーポイントを提供

比較したい2つの画像があります。この目的のために orb.detect と orb.compute を使用しています。

私の問題は、特定のキーポイントをフィードしたいのですが、それを行う方法を見つけることができないことです.

私は次のようなことを試しました:

両方の写真に特定の位置、角度、data_id などを割り当てるように割り当てます。ただし、次のエラーが表示されます。

orb.detect で独自のキーポイントを作成するのではなく、独自のキーポイントを作成する方法を知っている人はいますか?

前もって感謝します!

0 投票する
2 に答える
17480 参照

windows - ucrtbase.dll: 無効なパラメーターが致命的と見なされる関数に無効なパラメーターが渡されました

私は現在、OpenCV を使用した個人プロジェクトに取り組んでおり、プログラムの実行中にいくつかの問題があります。AKAZE + BOW レコグナイザー (私の問題には十分に機能していないようでした) を実装した後、SIFT (そして最終的には SURF) の実装を試してみたいと思いました。

私のプロジェクトでは、githubで見つかったこのプロジェクトに従っており、Windows 10 で VS2015 (コミュニティ) と OpenCV 2.4.13 を使用しています。

タイトルに記載されているように、私が抱えている問題は、実行中に無効なパラメーターを取得する ucrtbase.dll にあります (他のスレッドを正しく読み取れば、dll は Windows 10 の OS ライブラリである必要があります)。for cicle が 2 番目の反復に移動するとき (別名、BOW トレーニング用に別の画像の特徴を取得することになっているとき) に問題が発生します。これは、実行が停止し、タイトルのエラーが表示されるときです。

さまざまなことを試しました(たとえば、検出器/抽出器に異なるコンストラクターを使用したり、コードのコメント部分にコメントを付けたり)、デバッグセッション中に、検出機能が原因でエラーが発生したようですが、理由はわかりません(また、述べたように以下のコードで、検出関数とそれに続く関数をコメントすると、問題が修正されます)。

drawKeypoints 関数 (別のテストで使用) は、キーポイントを正しく描画しているようです (これは、検出関数が正しく機能していることを意味するはずです)。

以下に、エラーが発生しているスニペットを示します。

問題を理解するために他に知っておくべきことがあれば教えてください。

あなたが私に与えることができる助け/アドバイスを前もって感謝します.

編集1:

cicles のすべてを削除しようとしましたが、プログラムはすべての関数を正しく実行して最後に到達することができましたが、メインから戻るときにまだ ucrtbase.dll エラーが発生しています。VS デバッグ中に気付いたもう 1 つのことは、cicles 中またはプログラムの最後に (その dll を使用して) メモリの割り当てを解除する必要がある場合に、デバッガーが例外を生成することです。

ここのデバッガーには解決策があると思いますが、そのdllの何が問題なのかはわかりません。時間があれば、助けていただければ幸いです。

編集2:

数日間のテストの後、エラーは以下の割り当て解除から来ているようです:

std::vector< cv::KeyPoint >

KeyPoint ベクトルがインスタンス化され、プログラムの終了時にのみ破棄される場合、計算は正常に機能し、最後に dll エラーが発生します (これは面倒ですが、簡単なテストでは対処できます)。

問題は、これらのベクトルを引数として渡すことなく使用する関数を作成したいということです。割り当て解除が問題のように思われるので、上記の関数を呼び出すたびにプログラムをクラッシュさせずにそれを行うことはできません。また、ベクターで clear() と swap() を使用しようとしましたが、どちらも機能しませんでした。

私はコーディングを続けながらこれを理解しようとし続けますが、どんな助けや洞察も本当に感謝しています.

0 投票する
1 に答える
174 参照

image-processing - 画像解析: sift / harris / affine / RANSAC

これが適切な質問の基準に該当するかどうかはわかりませんが、それでも試してみたいと思います。

[number_of_keypoints][feature_0...feature_127] のファイル (またはマトリックス) の形式で 2 つの SIFT 記述子を取るライブラリまたは関数を探しています。それらを抽出する harris-affine alg.: http://www.robots.ox.ac.uk/~vgg/research/affine/det_eval_files/extract_features2.tar.gz )。

私は、近隣のキーポイントの数と成功率を受け入れる、相互に最も近い近隣を見つけることができる方法に興味があります。

たとえば、キーポイント (SIFT 記述子で記述) を持つ 2 つのファイル (image_1.sift、image_2.sift) があるとします。私はメソッドが受け入れることを望みます:近傍のキーポイントの数、一致率、ここで一致率は擬似コードを意味します:

比率は、考慮されたキーポイントの数に対する一致の数です。たとえば、FindMutualKeypoints(image_1, image_2, 50, 0.7)

これは、c#、java、python、または matlab の実装です。私は定期的に画像分析とはあまり関係がなく、独自の実装を書き始める前に、おそらく既にそこにあると思いました。母国語からの翻訳から英語で正しい用語を見つけるのに問題があります (用語がかなり異なっているようです)。