問題タブ [template-matching]
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.
java - 最大最小値の範囲に一致する OpenCV テンプレートは何ですか? しきい値として使用する必要があります / c++/java
テンプレート マッチングを使用して単純な openCV アプリケーションを作成しています。ここでは、比較して大きな画像内の小さな画像を見つけ、結果を true (一致が見つかった場合) または false (一致が見つからなかった場合) として返す必要があります。
問題は、この minMaxValue を使用して決定 (true/false) を行うことです。上記の 2 つのメソッド TM_SQDIFF と TM_SQDIFF_NORMED は低い値を返し、他のメソッドは高い値を返すことを知っているので、2 つの異なるしきい値を設定し、しきい値の 1 つを比較できます (テンプレート メソッドの種類によって異なります)。
そのため、MinMaxLocResult が返す minVal と maxVal の範囲を誰かが説明できれば幸いです。
0~1の範囲ですか?
はいの場合、Max タイプ テンプレート メソッドの値 1 は完全に一致しますか?
opencv - OpenCV を使用した角度とスケールの不変テンプレート マッチング
関数はテンプレート画像を 0 から 180 度 (または最大 360 度) 回転させて、縮尺が異なっていてもソース画像内の関連するすべての一致 (すべての角度) を検索します。
関数は OpenCV C インターフェイスで記述されていました。それを openCV C++ インターフェイスに移植しようとすると、多くのエラーが発生します。OpenCV C++インターフェイスに移植するのを手伝ってください。
結果 :
テンプレート画像:
結果画像:
上記の関数は、この画像の完全一致 (角度とスケールの不変) の周りに長方形を配置します .....
現在、コードを C++ インターフェイスに移植しようとしています。詳細が必要な場合は、お知らせください。
opencv - OpenCV テンプレート マッチングの最大最小値 間違った値が返される
OpenCV (Java) を使用してテンプレート マッチングを行い、最大最小値を使用してオブジェクトが見つかったかどうかを判断しようとしています。
次の Java/opencv コードを使用していますが、問題は、最適な一致と一致が見つからないシナリオの両方で最小値に 0.0 を返すことです。
したがって、このテンプレート マッチングは、オブジェクトが見つかったかどうかを判断するのに信頼性がないようです。このコードで何か間違ったことをしていますか、それとも他の手法を使用する必要がありますか?
前もって感謝します。
c++ - cv::Mat に含まれる cv::Points を反復処理します
OpenCV テンプレート マッチングを使用して、別の画像内の画像を検索しています。
具体的には、一致の類似度マップを含むmatchTemplate()
を返します。cv::Mat
を使用する以外cv::Point
に、それに含まれるをソートする方法はありますか?cv::Mat
minMaxLoc()
私が試してみました:
限られた成功で。
android - OpenCV (Android) でテンプレート マッチングを使用して完全一致を取得するには?
私はOpenCVが初めてです。特定の画像にテンプレートが与えられているかどうかをユーザーに伝えるアプリケーションを実行しています。このコードを使用しました。完璧にマッチングします。ただし、指定された画像に一致するテンプレートがないかどうかは検出されません。私が読んだとき、それは最高値になり、偽の結果が表示されます(画像の別の場所に表示されます)。minVal と maxVal について読みました。しかし、それでも私はそれが何をするのかさえよく理解できませんでした。コードをデバッグしたためです。minVal が 0.0 で maxVal が 255.0 であるたびに (画像にテンプレートが含まれているかどうかに関係なく、毎回という意味です)。私はここで立ち往生しています。正しい結果のみを表示するのを手伝ってください。
c++ - 次の列のベクトル サイズの c++ ベクトル
cv::matchTemplate を使用してテンプレート マッチングを行うコードを書いていますが、作成したベクトルの 2 次元ベクトル (vov) で問題が発生しました。これを vvABC と呼びます。現時点では、私の vov には 10 個の要素があり、コードの実行中に渡す値に基づいて変更できます。
私の問題は、サイズを計算できるように、vov のある列から次の列に移動することです。vov がどのように機能するかについての私の理解から、要素が vov に次のように保存されている場合:
最初の列のサイズを計算するには、vvABC[0].size() で最初の列のサイズを取得し (この場合は 3 になります)、vvABC[1].size() のようにします。 2 番目の列のサイズを取得します (7 になります)。私が今直面している問題は、どちらの場合も明らかに間違っている「3」を与えることです。
次の列の正しいサイズを取得する方法を教えてください。
検出結果を vvABC に保存しましたが、一度に 1 つずつ照合したいと考えています。
android - openCV を使用した Android でのテンプレート マッチング
テンプレート マッチングを使用して、Android のカメラ入力と画像を一致させようとしています。ここのような静的な2つの画像でこれを試すと: OpenCV Template Matching example in Android、すべて正常に動作します。しかし、カメラからキャプチャした画像を使用しようとすると、正しい結果が得られません。以下は私が書いたコードです:
画像がカメラからキャプチャされたときにも、このテンプレート マッチングが機能するようにしたいと考えています。どんな助けでも大歓迎です!
opencv - OpenCV:写真に必要なオブジェクトがあるかどうかを判断/検出する方法は?
写真に必要なオブジェクトがあるかどうかを判断/検出するにはどうすればよいですか?
オブジェクトのクラスを認識する必要はありませんが、テンプレート画像とまったく同じオブジェクトがあるかどうかを知る必要があります。
これまで、テンプレート マッチング、ヒストグラム マッチング、SIFT のような方法を使用しようとしましたが、これらの方法のいずれも必要なレベルの精度を備えていません。
誰でも正確な方法を提案できますか?
UPD
リリースの DB サイズ - 5.000-10.000 の一意のオブジェクト
利用可能なトレーニング データ セット - 50 個のオブジェクト。
c++ - リアルタイムのテンプレート マッチング - OpenCV、C++
テンプレートを使用してリアルタイム追跡を実装しようとしています。フレームごとにテンプレートを更新したいと思います。私が行った主な変更は次のとおりです。
1) テンプレート マッチングと minmaxLoc を個別のモジュール、つまりそれぞれTplMatch () 関数とminmax()関数に分割しました。
2) track()関数内では、select_flag が常に true に保たれるため、反復ごとに新しいテンプレートが「myTemplate」にコピーされます。
3) 関数track()の最後の 3 行は、テンプレート (roiImg) を更新するためのものです。
4)また、imgとroiImgはグローバル変数であり、関数に渡す必要がないため、 track()関数への引数をすべて削除しました。
コードは次のとおりです。
更新されたテンプレートは追跡されていません。反復ごとにテンプレート (roiImg) を更新しているため、なぜこれが起こっているのかわかりません。minmax()関数からの一致値は、毎回同じポイント (座標) を返しています。テスト ビデオはhttp://www.youtube.com/watch?v=vpnkk7N2E0Q&feature=youtu.beで入手できます。 詳しく調べて先に進んでください...どうもありがとうございました!