クラスのいたるところに、とfeatures2D
という用語が見られます。たとえば、have と、およびhaveメソッドです。query
train
matches
trainIdx
queryIdx
Matchers
train()
train
単語と英語の定義は知っていますがquery
、このプロパティやメソッドの意味がわかりません。
PS 非常にばかげた質問であることは理解していますが、英語が私の母国語ではないためかもしれません。
クラスのいたるところに、とfeatures2D
という用語が見られます。たとえば、have と、およびhaveメソッドです。query
train
matches
trainIdx
queryIdx
Matchers
train()
train
単語と英語の定義は知っていますがquery
、このプロパティやメソッドの意味がわかりません。
PS 非常にばかげた質問であることは理解していますが、英語が私の母国語ではないためかもしれません。
sansuisoの答えを完成させるために、これらの名前を選択する理由は、一部のアプリケーションでは、たとえばオフィス内で撮影された10枚の画像など、事前に一連の画像(トレーニング画像)を取得しているためだと思います。特徴を抽出し、これらの画像の特徴記述子を計算することができます。また、実行時に、トレーニングされたデータベースにクエリを実行するための画像がシステムに提供されます。したがって、クエリ画像はこの画像を参照します。私は彼らがこれらのパラメータに名前を付けた方法が本当に好きではありません。ステレオ画像のペアがあり、機能を一致させたい場合、これらの名前は意味がありませんが、常に左側の画像をクエリ画像、右側の画像をトレーニング画像と呼ぶという規則を選択する必要があります。私はコンピュータービジョンで博士号を取得しましたが、OpenCVのいくつかの命名規則は、私には本当に混乱している/ばかげているようです。
train
: この関数は、動作可能にするために分類器の内部状態を構築します。たとえば、 SVM のトレーニングや、参照データからの kd-tree の構築について考えてみてください。このステップは文献では学習と呼ばれることが多いため、混乱している可能性があります。
query
一連のポイントに最も近い近傍を見つけるアクションであり、拡張により、最も近い近傍が必要な一連のポイント全体も参照します。1 つのポイントの近傍を求めることができることを思い出してください。または、同じ関数呼び出しで (特徴点をマトリックスに積み重ねることによって) 全体を求めることができることを思い出してください。
trainIdx
queryIdx
参照/クエリ セット内のピントのインデックスをそれぞれ参照します。つまり、他のポイント (その位置に格納されている) に最も近いポイント (その位置に格納されている) をマッチャーに要求しtrainIdx
ますqueryIdx
。もちろん、trainIdx
関数呼び出し後に認識されます。ポイントがマトリックスに格納されている場合、インデックスは考慮されるフィーチャのラインになります。
「クエリ」と「トレーニング」を非常に単純ですが便利な方法で理解しています。「トレーニング」: データベースを取得するためにデータまたは画像が前処理されます。 「クエリ」: トレーニングしたデータベースでクエリされる入力データまたは画像です。前。それがあなたにも役立つことを願っています。