opencvを使用してGUIの要素を検出するにはどうすればよいですか?


7

アプリケーションのスクリーンショットが与えられた場合、opencvのみを使用してそのアプリケーションのGUI要素を見つける方法はありますか?(画像のようなもの) 要素検出後の望ましいOutlook画像

opencvインストールフォルダーにあるcoherence.pyサンプルの画像とその他の効果をブレンドして遊んでみました。実行可能な結果を​​得ることに成功しませんでした。

誰かこれをしましたか?私が何をしようと思っているのか分かりますか?

ありがとう

(私はopencvと画像処理が初めてなので、可能な場合は明確な説明を避けないでください):)


2
これはOpenCVにはありませんが、まさにあなたが探している目的を持つSikuli.orgご覧ください
Ivo Flipse

私はシクリについて知っています。実際に事前にスクリーンショットを撮らずに関心領域を検出する方法が必要でした。答えは、特定の初期化を伴うMSERアプローチでした。とにかく、Sikuliのヒントをありがとう。
Radu Enea 2012年

あなたが何をプログラミングしていたのかと聞かれた場合、同じ質問を探してここに来ました。私の意図は、キーボードショートカットが定義されていないアプリケーションの場合、要素をキーボードでクリックできるようにすることです。同様の作業をしましたか?
urza.cc 2017年

いいえ、それはUIテスト自動化の小さなプロジェクト用でした。これは、ユーザーがUIと対話するのを「監視」し、アクションを再生するための小さなスクリプトを生成することになっています。Sikuliの長期的な信頼性の欠如のため、ある時点でそれを放棄しました。UIで要素のスクリーンショットを取得できましたが、Sikuliはすべてのケースでそれらのすべてを見つけることができませんでした(おそらくそれらは小さすぎるか、他の要素に類似しすぎていました)
Radu Enea

回答:


9

OpenCVのMSERエクストラクター(ここに記載)が役立つ場合があります。ローカルMSERグループの境界ボックスは、モックアップ内の緑色の長方形にかなり一致します。


ありがとう。私が探しているもののように見えます。私はそれをこれらの日の1つを試してみる
ラドゥエニア

うん。やったよ。必要なものに合わせて微調整するだけです。再度、感謝します。
Radu Enea
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.