2

2つの画像を比較し、それらの違いを「計算」する方法についての議論がありました。これは、画像比較の変形と見なすことができますが、完全ではありません。これを考慮してください:私の電話(Android電話)のSDカードに保存されているペンの画像があるとします。そして、家の中でカメラを使ってこのペンを「探しています」。目で同じことができるという事実を無視して、カメラに検索を任せましょう。それで、私は家にいて、カメラをさまざまな場所に向けて、カメラを向けたときに、カメラがこのペンを「識別」できるかどうかを確認しています。漠然としたコンピュータサイエンスの用語で言えば、カメラを何かに向けている間、このペンの画像を現在のカメラビューと継続的に比較するために、バックグラウンドでスレッドを実行しています。カメラを椅子に向けて、スレッドは椅子のカメラビューをペンの画像と比較し、椅子はペンではないため、「false」を返します。そして、最終的に同じペンをテーブルに置いて向けると、スレッドは、これがSDカードに画像があるペンであると判断する必要があります。そのため、カメラビューにはペンとその上にあるテーブルが表示されますが、画像比較手法を使用してペンを識別する必要があります。

一般的に、このようなことは可能ですか?Androidやスマートフォンを忘れて、カメラでエリアやオブジェクトを「識別する」ことは可能ですか?画像処理ライブラリを知らないので、私はいくつかのライブラリがそのようなことをするためのツールを持っていると思います。または、少なくとも、作業を開始するための「理論的な」アルゴリズムが存在する可能性があります。

ありがとう、

Sanjeev Mk

4

1 に答える 1

2

この種のことはできますが、うまく機能させるのは非常に困難です。AndroidでのOpenCV処理の私の経験では、現在のモバイルハードウェアでこれをリアルタイムで実行することは問題外です。(静止フレームでこれを行うことが可能かもしれません)

非常に粗雑な(そして国マイルで最も簡単な)システムは、テンプレートマッチングを使用しますcvMatchTemplate。基本的に、「テンプレート」(たとえば、ペンの写真)を検索画像の可能な各位置の写真と比較します。これは計算量が多くなりますが、制約のある状況では非常にうまく機能します。ただし、アプリケーションには完全に制約のない条件が必要です。

私の提案は、サーフまたは類似のものとハフ変換を調べることです。参照画像からオブジェクトに一連のSURFフィーチャを作成することにより、オブジェクトの「フィンガープリント」を作成します。検索画像でサーフを実行します。次に、オブジェクトモデルが特徴点のセットである一般化されたハフ変換を適用します。ハフ空間のピークは、良好な一致を表します。

私は2番目のアプローチを試したことがありませんが、それが可能であることはわかっています。また、私が提案した2つのアプローチは、決して2つだけではなく、私にとってなじみのある2つにすぎません。

于 2012-08-20T14:27:44.833 に答える