2011-06-28 13 views
2

私はGui Automation Test用のツールを書いています。 テキスト文字列を指定すると、現在の画面に最も近いテキストボックスの座標を取得します。OpenCV TextBox検出

関数のシグネチャは次のようになります必要があります。

ポイントGetNearestTextBoxPosition(文字列textOnLabel)は

私はtextOnLabelの与えられた文字列の座標を取得するために管理しているので、私は持っているだけで、これを実装します機能:

ポイントGetNearestTextBoxPosition(ポイントtextLabelPosition) [ここに画像の説明を入力] [1]

私はIMPにしたいです!矩形検出などのコンピュータビジョンテクノロジを使用してこの機能を実現します。 OpenCVを使ってこの目標を達成する方法を教えてくれる人がいますか?

答えて

1

Hough Transformsで矩形を検出することは非常に簡単です。

つまり、コンピュータビジョンのアプローチは適切ですか?

GUIがウェブの場合、WatirやSeleniumのようなライブラリを使ってDOMレベルで動かすことができます。あなたのGUIがネイティブのアプリなら、それらを操作するためのコントロールもあります。

+0

しかし、いくつかのコントロールはspy ++で認識できないため、スクリプトで操作することはできません。 – user753503

0

問題の画面のビットマップイメージしかないと仮定すると、ヒストグラムを使って画面上のテキストのおおよその位置を特定し、それらの領域内のOCRを使ってテキストを特定することをお勧めします。検索している文字列に一致するテキストが見つかった場合は、テキストの境界から作業する単純な水平および垂直グラデーションテストを使用して、格納されているボックスを探します(異なる色の枠線または背景色)。

サンプル入力が表示されていないと、これ以上具体的になるのは難しくなります。