1

画面上のさまざまなオブジェクトを認識できるものを作りたいです。テキストフィールド、ラベル、ボタンのあるウィンドウでスクリーンショットを撮ったとしましょう。画像を渡したいのですが、画像を区別できる必要があります。つまり、テキストフィールドが配置されている位置の上に「テキストフィールド」という名前を配置し、ボタンの上に「ボタン」、ラベルの上に「ラベル」を配置する必要があります。

「登録ウィンドウ」を視覚化するために、インターネットからのサンプル画像を次に示します: http://kb.parallels.com/Attachments/12828/Images/registration1.jpg

Javaでこれをやりたいのですが、これが可能かどうかはわかりません。どこから探し始めるべきか、誰かアイデアはありますか? エッジ検出?特徴検出?OCR/ICR?

これはすでに存在しますか?誰もこれまでにこのようなものに出くわしたことがありますか?

誰かが私を正しい方向に向けてもらえますか? 私はそれを高く評価します。

ありがとうございました!:)

4

1 に答える 1

0

これは私がそれに取り組む方法です:

A) 識別/セグメンテーション。データを知らなくても、「ウィンドウの領域の半分未満の長方形(またはエッジが丸くなっているため、それに近いもの)を見つける」のようなもので問題ないかもしれません(データによって異なります..)。

B) 分類。個人的には、あなたが見つけたすべてのオブジェクトをサイズ 100*100 (または何でも) にスケーリングし、それをサンプル データと比較します (はい、ミニ チェックボックスをそのサイズにスケーリングできます。見た目は良くありませんが、そうではありません)。見た目はどうでもいい…)。「ブルートフォース」(これが私がスケーリングした理由です)またはいくつかの優れた分類アルゴリズムのいずれかです。(ニューラル ネットワークを使用しないでください。SVM または最近傍を使用してください)。分類については、主に長方形内のヒストグラムと形状係数/モーメントを調べます。テキストがデータを混乱させる場合は、分類する前に何らかの形態でそれを取り除きます。

テキストフィールドは少し扱いに​​くいですが、そのためには OCR ライブラリを使用して全体像を調べます。(個人的には、IMAQ でうまくいきましたが、これは商用です)。テキストがボックスの外側にある場合は、ラベルが付けられています。

おそらくOpenCVを調べる必要があります。

于 2012-05-25T11:34:42.477 に答える