Entwickler-Ecke

Multimedia / Grafik - Bild- / Grafikanalyse für Einsteiger


C# - Mi 21.05.14 14:24
Titel: Bild- / Grafikanalyse für Einsteiger
Hey,

kennt jemand ein paar gute Tuts zum Thema Bildanalyse oder kann mir direkt helfen?

Meine App macht nen Screenshot vom Desktop und zieht sich dann ein entsprechenden abschnitt raus. Nun möchte ich prüfen, ob in diesem Bild andere, kleinere Vergleichsbilder enthalten sind. Dabei möchte ich ermitteln wo entsprechende Übereinstimmung vorkommt und zu wie viel Prozent diese stelle tatsächlich mit dem Vergleichsbild übereinstimmt. Der ganze Vorgang soll sich so ca. alle 10s wiederholen, also kein Zeitdruck beim verarbeiten.

Theoretisch kann man das ganze ja mit vier verschachtelten for-Schleifen machen für x und y der zwei Bilder, was aber doch schon ganz schön heftig ist, oder?

Jetzt meine Frage: weiß jemand wie das Vergleichen optimiert werden kann? Habe mal was über runter skalieren und Graustufen gelesen, weiß aber nicht ob dass ne gute Lösung ist.


Th69 - Mi 21.05.14 14:42

Hallo,

auf myCSharp.de gab es ähnliche Anfragen:
Bilder vergleichen: Ähnlichkeit feststellen, auch wenn der Bildausschnitt etwas verschoben ist [http://www.mycsharp.de/wbb2/thread.php?threadid=111518]
Wie ist es möglich ein (Teil-)Bild in einem Bild zu suchen? (Bildsucher) [http://www.mycsharp.de/wbb2/thread.php?threadid=43032] (ganz unten ist auch ein Beispielprojekt)

Evtl. hilft dir auch die freie .NET-Library AForge [http://code.google.com/p/aforge/] oder aber LowLevelGraphicsLibrary [http://www.mycsharp.de/wbb2/thread.php?threadid=7926]

Edit: Habe gerade auch noch Find known sub image in larger image [http://stackoverflow.com/questions/297762/find-known-sub-image-in-larger-image] gefunden (das sehr vielversprechend klingt).


C# - Mi 21.05.14 16:07

Danke für die links. Das Beispielprojekt ist genau das, was ich vermeiden wollte. Bei den Libs habe ich nix passendes zum vergleichen gefunden und der letze Beitrag beschäftigt sich dann mit FFT, welche ich leider nicht beherrsche... Ich werde nochmal ein wenig mit den for-Schleifen spielen. Ich glaube ich weiß wie ich es für meine Zwecke optimieren kann...
Ich melde mich nochmal