問題タブ [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.
c++ - opencv c++ 異なる画像のキーポイントの位置を比較する
を介して 2 つの画像を比較する場合、明らかに正しくないものを無視して距離feature extraction
を比較するにはどうすればよいですか?keypoint
類似した画像を相互に比較すると、ほとんどの場合かなり正確であることがわかりましたが、まったく別の一致をスローする場合もあります。
だから私は、keypoints
両方の画像からの2セットを見て、一致したkeypoints
ものが両方で比較的同じ場所にあるかどうかを判断する方法を求めています。keypoints
1、2、および 3 が画像 1 で非常に離れていることがわかっているため、画像 2 で一致する対応するキーポイントは、互いにほぼ同じ距離にあるはずです。
私は過去RANSAC
にチェックを使用しましminimum distance
たが、ある程度の効果しかなく、私が求めているほど完全ではないようです。
(ORB
とを使用BruteForce
)
編集
「x、y、および z」を「1、2、および 3」に変更
EDIT 2 -- ペイントで作成した簡単な例を使用して、さらに説明します。
これを私のイメージとして持っているとしましょう:
そして、比較するためにこの画像を与えます:
元のバージョンをトリミングして押しつぶしたバージョンですが、明らかに似ています。
ここで、実行したとします。2 つの画像について、feature detection
次の結果が返されました。keypoints
両方のkeypoints
画像の は、ほぼ同じ領域にあり、互いに比例して同じ距離にあります。丸で囲んだ部分を"Image 1 Keypoint 1"keypoint
と呼びましょう。
keypoints
その周りに5つあることがわかります。それらと「Image 1 Keypoint 1」の間のこれらの距離を取得して、「Image 2 Keypoint 1」と同じ領域の 5 つのサラウンドkeypoints
(以下を参照) と比較して、単に akeypoint
を別のものと比較しないようにしますkeypoint
。の位置に基づいて「既知の形状」を比較しkeypoints
ます。
--
それは理にかなっていますか?
android - OpenCV+Android キーポイント検出のクラッシュ
私はこの問題について大量の調査を行い、それらすべてを試しましたが、どれも機能しませんでした。そのため、新しいトピックの時間です。ユーザーがデバイスから画像を選択すると、プログラムがキーポイントが描かれた同じ画像を返すプロジェクトを作成しています。以前にopenCVで他のプログラムを作成し、それをAndroidでまったく同じ方法で使用しましたが、ウィンドウの代わりにimageViewの表示方法を変更しただけです。これはimageViewのコードです:
そして、これはキーポイントをキャプチャし、キーポイントを含む imageView から選択した画像を出力する部分であると想定されています。
そして、LogCat に次の行が表示されてプログラムがクラッシュします。
よろしくお願いします。
java - flandmark (Javacv) を使用してキーポイントごとにコーディネートして表示する
私は現在、JavaCVを使用してflandmarkからこの例を使用しています。https://github.com/bytedeco/javacv-examples/blob/master/flandmark-demo/src/main/java/flandmark/Example1.javaを参照してください。なんとかコードを実行できましたが、顔(目、口、鼻)の各キーポイントの座標を表示する方法はありますか?flandmark ライブラリで検出できるキー ポイントは約 7/8 です。ありがとう。
computer-vision - SIFT での正確なキーポイント ローカリゼーション
彼の論文 (スケール不変のキーポイントからの特徴的な画像の特徴) で、Lowe は「低コントラストのキーポイント」を取り除く方法を説明しています。これは、二次項までのテイラー展開を使用して行われます。
極値 (xhat) は、導関数を取得し、それをゼロに設定することによって検出されます。
関数 D, xhat を入力として与えることにより、極値点の値を決定し、しきい値によって、点 xhat を保持または破棄することができます。
D(xhat) 方程式から始めます: 私の理解では、逆行列はヘッセ行列 (xhat 方程式の最初の部分) から取られます。この場合は 2x2 行列です - 2 番目の部分は一次導関数です。 x 座標と y 座標に変換され、2x1 の行列です。問題は、すべての潜在的なキーポイントを反復処理して逆数を取ると、それらのいくつかが特異になることです!
D(X): 調査される値は、D(0,0) にオリゴがあり、D は 3x3 行列であると仮定しています。D が他の項に追加されると、それはどのように理解されますか? 私の計算によると、D を除くすべての項が追加されると、1 つの値が表示されます。マトリックス)?
方程式は、SIFT 論文の 11 ページに記載されています。
java - OpenCV での Dense アルゴリズムの変更
OpenCV で Dense アルゴリズムの実装を使用しています。バージョン 2.4.x
各ピクセルではなく、5 番目ごとに見えるように機能検出を変更するオプションがあるかどうかを知りたいです。そうすることで、データを減らしてプロセスを高速化できます。さらに良いのは、中央のピクセルのみが関連する画像にグリッドを配置することです。しかし、私は方法を見つけることができませんでした。
これまでの私のコードは次のとおりです。
アイデアはありますか?ありがとう
c++ - キーポイント サイズとオクターブ間の OpenCV 接続
私はOpenCV キーポイントを使用していますが、キーポイントのサイズとオクターブについて質問を受けました。
keyPoint には座標 (x,y) とサイズがあり、(x,y) の中心とサイズの半径を持つ円として単純に記述できることを知っています。
そして、キーポイントが検出されているいくつかのオクターブ レベル (画像が 2 でダウンサンプリングされている間) があることを知っています。
これについて2つ質問があります。
- キーポイントのサイズと、検出されたオクターブまたはサブレベルとの間に関係はありますか?
- 画像が持つことができるオクターブ レベルの最大数は? すべてのオクターブ レベルでイメージが 2 でダウンサンプリングされているため、答えは Log(2,image_size) ということですか? サブレベルはどうですか?