1

私は自動化ツールを作成しようとしており、スクリーンショットを取り、ユーザー入力を記録するタイプの記録を試しています。アイデアは、ユーザーがスナップショットを撮り、「送信」ボタンのスナップショットの四角を強調表示することです。再生中、プログラムは開いているウィンドウのスクリーンショットを撮り、スナップショットを検索してボタンの座標を見つけます。したがって、画像からボタンの正確な (または非常に近い) 画像を検索するアルゴリズムが必要です。私がこれまでに見つけたアルゴリズムは、画像の類似性を比較しますが、サブイメージでそれを見つけることができず、オブジェクト認識のアルゴリズムは、私が見つけようとしている「オブジェクト」がほぼ完全に一致することを考えると、少し過剰に思えます。何か案は?

4

3 に答える 3

2

次のツールが役立ちます。

于 2014-11-10T12:19:50.163 に答える
1

必要なのは、効率的な特徴抽出方法です。これは探しているものによって異なりますが、この画像の [送信] ボタンを探していると仮定しましょう:

Web フォームのスクリーンショット

このボタンの特徴の 1 つは、上下に一対の平行な線分が含まれていることです。同じことが 2 つのテキスト入力フィールドにも当てはまりますが、ボタンの場合、このオフセットはちょうど 17 ピクセルです。

これは、ソース画像の最大ピクセル値とそれ自体を垂直方向に 17 ピクセルずらして計算すると得られるものです。

17 ピクセルの垂直シフトと最大値の計算結果

[送信] ボタンが実線の水平線として表示されるようになりました。これは、画像にしきい値を設定し、切れ目のない一連の黒いピクセルを探すことで、非常に簡単に検出できます。参考までに、10 ピクセルの水平方向のモーション ブラーを適用し、グレー レベル 128 でしきい値処理を行った結果を次に示します。

ここに画像の説明を入力

このプロセスにより、候補者の位置が非常に迅速に特定されます。その後、これらの場所を 2D 畳み込みやOCRなどのより強力な手法にさらすことができ、パフォーマンスをあまり低下させることはありません。

于 2013-11-13T10:19:08.353 に答える
1
  1. ボタン画像の特徴を見つける

    たとえば、ボタンの面の色に隣接するエッジの色、または派生、形状、または正方形のサブイメージの平均色 (8x8 ピクセル ...) を使用できます。

  2. この機能のスナップショットを検索

    最初に平均色を使用するので、画像をピクセル領域に分割しN x N、それらの平均色を計算します。ボタンの平均色と同様の平均色を持つ正方形が見つかった場合は、おそらく場所があります。

  3. この後、ボタンがあれば近くのエリアを総当たり攻撃できます

    この段階では、色を直接比較しないでください (アンチエイリアシングやフィルターによって歪む可能性があります...)。より良い方法は、派生物を+/-ある程度の精度で比較することです。ボタンの存在確率の係数を作成できます。

    p(x,y)=count(matching pixels) / (button pixels)
    

    十分に近い場合は1.0、ボタンが見つかりました。

PS。ステージ3では、グレースケール画像を使用して物事を簡素化できます

于 2013-11-13T09:33:56.860 に答える