問題タブ [matchtemplate]

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 投票する
1 に答える
1853 参照

opencv - opencvとのテンプレートマッチング成功

opencv テンプレート マッチング アルゴリズムの成功を測定するにはどうすればよいですか?

minmaxLoc 関数を使用して、最適な一致の場所を見つけることができることを理解しています。しかし、それはまた、試合が実際にどれほど良かったかを示しているのでしょうか? (もしそうなら、どうやって調べますか?)

見つかった一致 (緑色の四角形) と元のテンプレートの間の相関を測定するさらに適切な関数はありますか? たとえば、 template-image が matching-image で見られるものと比べてわずかに回転または平行移動されている場合はどうなるでしょうか?

すべての最小最大位置の平均を取るだけですか、それとも何を提案しますか?

opencv のテンプレート マッチング関数の例

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

opencv - gpu::matchTemplate と cvMatchTemplate の比較

画像内のパターンを検索するためのソフトウェアを実装しました。cvMatchTemplate を使用すると、実行時間は約 10 ミリ秒です (120x160 ピクセルの検索ウィンドウで 40x40 のパターンを取得しているためです。画像は 640x480 であるため、画像全体を考慮していません)。

gpu::MatchTemplate を使用して同じアルゴリズムを実装しましたが、実行時間の改善を期待していました。スコアの計算には 220 ミリ秒かかります。

何が起こっている?

ありがとう。

編集: 画像の読み込み時間を測定したところ、画像が既に圧縮されていないため、「.upload」機能の実行に 1 ミリ秒かかりました。

同じアルゴリズムじゃない?

編集: CUDA と独自のカーネルを使用してコードを記述しました。画像に対して cuda 関数を使用して FFT を実行し、アルゴリズムの実行全体は、1024x1024 画像と 200x200 のパターンで 2 ミリ秒未満です。exec を測定するために、thread_sync を使用しました。時間。

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

opencv - Opencv matchTemplate が一致しません

OpenCV 3.0.0 を使用して、画像を別の画像に配置しています。アプリオリに関数 matchTemplate を使用する必要がありますが、結果を見るともうわかりません。

問題は、入力画像に応じて、結果が完全に正確または完全に不正確になることです。

例 1:

メイン画像

単純

テンプレート

単純

結果

単純

ここに苦情はありません。この場合、マッチングは完璧です。しかし、今は使用したい画像に置き換えて...

メイン画像

複雑

テンプレート

複雑

結果

ここに画像の説明を入力

そのため、まったく機能していません (画像の右上に長方形が表示されます)。いずれの方法 (この例では CORR NORMED) も、テンプレートが配置されている四角形を出力します。すべての結果は正確とはほど遠いものです。

だから、私の質問は、 matchTemplate の結果は、メイン画像の色/形状の数に依存しますか? ここで SURF または SIFT は役に立ちますか? テンプレートを別の画像に配置するのに役立つ機能はありますか?

前もって感謝します!

PS: 最初の例がうまく機能するので、そのような問題ではないと思うので、コードを追加しませんでした。

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

java - matchTemplate を使用した結果の解釈

次の matchTemplate コードを使用して 2 つの画像を一致させようとしています。

期待どおりに2つの塗りつぶされた円を比較すると、期待される.99が得られます

しかし、ほぼ同じサイズの塗りつぶされた円と塗りつぶされた正方形を比較すると、1.0 になります。

私は何を間違っていますか?画像は白黒です。

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

opencv - Opencv の Ambient Lighting matchTemplate で誤検知が発生する

ビデオ ストリームに 1 つのフレームを取り、その画像の小さなサブセクションを使用して、次のフレームで同じオブジェクトを検索しようとしています。

制御された環境で合成データを使用すると、うまく機能します。

私が実際に実際の写真を撮るとき、一致は私が探しているものではありません.

相互相関と正規化を使用していますが、照明条件が誤った一致に関与していると思います。

どうすればこのハードルを回避できますか? 間違った関数を使用していますか?

どんな情報でも役に立ちます

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

opencv - openCV の Match Template の相互相関と正規化について説明する

上司と私は、matchTemplate(); の CV_TM_CCORR_NORMED メソッドで何が起こっているかについて意見が分かれています。openCVで。

ここで何が起こっているのか、特にこの方程式の平方根の側面について説明していただけますか。

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

ios - テンプレート マッチング コードで結果を取得する方法は?

私はコンピューター ビジョンの初心者です。現在、iOS で matchTemplate を使用して 2 つの画像の一致を見つけるプロジェクトに取り組んでいます。私が直面している問題は、2 つの画像が一致しているかどうかを判断する方法を見つけることです。結果マトリックスのパーセンテージを取得することを考えましたが、方法がわかりませんでした。また、MinMaxLoc も機能しませんでした。誰かが私を助けてくれたり、アイデアをくれたりしたら、本当に感謝しています。コードは次のとおりです。

UIImage* image1 = [UIImage imageNamed:@"1.png"]; UIImage* image2 = [UIImage imageNamed:@"Image002.png"];

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

java - Opencv (3.0.0) テンプレート マッチングの Java 実装

Opencv を使用して、特定の画像のテンプレート (小さな画像) を一致させたいと考えています。

このポートから次のコードを見つけました: Android での OpenCV テンプレート マッチングの例

問題は openvc 3.0.0 の起動です。highgui は新しい videoio と imgcodec に分割され、以下のコードは highgui を使用しています。

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

java - JavaCV リソースから Mat を作成 (InputStream)

JavaCV を使用します (OpenCV ではありません)。私の目標はMat、リソースとして保存されている画像からオブジェクトを取得することです。Mat次に、これをopencv_imgproc.matchTemplateメソッドに渡します。私はこの悪いコードを書くことができました:

これは場合によっては機能します。問題は次のとおりです。

  1. 透明度チャネル (つまり 32BPP) を持つ png 画像の場合、チャネルをシフトするため、次のようにR=00 G=33 B=66 A=FFなります。R=33 G=66 B=FF レナ 32BPP カラーシフト

  2. ターゲット環境では、使用できませんImageIO

  3. オブジェクト変換が多すぎますInputStream -> BufferedImage -> Frame -> Mat。これを行うための簡単で効果的な方法が必要だと思います。

リソースからマットを作成する最良の方法は何ですか?

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

c++ - 複数の ROI での OpenCV テンプレート マッチング

私はopencvが初めてなので、この質問がばかげているように思えたら申し訳ありません。たとえば、 image detect markerでマーカー #1 を見つけたいと思います。検索領域を複数の ROI (正方形) に制限してから、画像を ROI にトリミングし、houghlines と warpaffine を使用して変換しました。今のところ、最初の四角だけが表示されています。各 ROI を調べて、それらをテンプレートと一致させ、悪い一致をスキップし、最良の一致のみを返したいと思います (おそらくパーセンテージで)。これは matchTemplate を使用してのみ可能ですか、それとも画像内の四角形を見つけた後に特定のマーカーを探すためのより良い方法がありますか?