Wie kann ich mit opencv Elemente der GUI erkennen?

7

Gibt es bei einem Screenshot einer Anwendung eine Möglichkeit, GUI-Elemente dieser Anwendung nur mit opencv zu finden? (so etwas wie auf dem Bild) Gewünschtes Outlook-Bild nach Elementerkennung

Ich habe versucht, mit dem Mischen des Bildes und anderer Effekte aus dem Beispiel "kohärenz.py" im opencv-Installationsordner zu spielen. Es ist nicht gelungen, ein tragfähiges Ergebnis zu erzielen.

Hat das jemand gemacht? Hast du eine Idee, was ich versuchen könnte?

Vielen Dank

(Ich bin neu in OpenCV und Bildverarbeitung, bitte vermeiden Sie offensichtliche Erklärungen nicht, wenn möglich) :)

Radu Enea
quelle
2
Dies ist nicht in OpenCV, aber werfen Sie einen Blick auf Sikuli.org, die genau den Zweck hat, den Sie suchen
Ivo Flipse
Ich weiß über Sikuli. Was ich brauchte, war eine Möglichkeit, die interessierenden Bereiche zu erkennen, ohne vorher einen Screenshot davon zu machen. Die Antwort war der MSER-Ansatz mit spezifischer Initialisierung. Trotzdem danke für den Sikuli-Tipp.
Radu Enea
Wenn ich fragen darf, was haben Sie programmiert? Ich bin hierher gekommen, um nach der gleichen Frage zu suchen. Meine Absicht ist es, Elemente über die Tastatur anklickbar zu machen, wenn für Anwendungen keine Tastaturkürzel definiert sind. Hast du an etwas ähnlichem gearbeitet?
urza.cc
Nein, es war für ein kleines Projekt der UI-Testautomatisierung. Es sollte den Benutzer bei der Interaktion mit der Benutzeroberfläche "beobachten" und dann kleine Skripte generieren, um die Aktionen wiederzugeben. Ich habe es irgendwann aufgegeben, weil Sikuli langfristig nicht zuverlässig war. Ich konnte Screenshots der Elemente in der Benutzeroberfläche erhalten, aber Sikuli konnte in 100% der Fälle nicht alle finden (wahrscheinlich waren sie zu klein oder anderen Elementen zu ähnlich)
Radu Enea

Antworten:

9

Der MSER- Extraktor von OpenCV ( hier dokumentiert ) könnte hilfreich sein - der Begrenzungsrahmen lokaler MSER-Gruppen würde ziemlich genau mit den grünen Rechtecken in Ihrem Modell übereinstimmen.

Smokris
quelle
Vielen Dank. Sieht aus wie das, wonach ich suche. Ich werde es eines Tages versuchen
Radu Enea
Yap. Ich habe es gemacht. Ich muss es jetzt nur noch auf das abstimmen, was ich brauche. Danke noch einmal.
Radu Enea