Bilder auf Gleichheit oder Ähnlichkeit überprüfen

  • Hi,

    ich muss bmps (bzw vorhandene bmps mit einem Screenshot-Ausschnitt) in autoit auf Gleichheit oder 98% Ähnlichkeit oder so was vergleichen. Wie sieht da eine elegante Lösung aus?

    Hab es bisher mit Imagemagick und Composite und Compare nacheinander versucht, gibt es was einfacheres? Bzw. etwas möglichst Effizientes was die LAufzeit angeht!

    Einmal editiert, zuletzt von tylerdurden78 (15. Juni 2008 um 08:51)

  • Hi,
    soweit ich weis, gibts für solche Sachen keine Funktionen.
    Das einzigste was mir einfallen würde, wäre ImageSearch. Damit kannst du Vorhandene Bilder (also deine bmps) auf dem Bildschrim suchen. Allerdings kann dir nicht angezeigt werden mit welcher Wahrschenlichkeit, das Bild mit dem Bildschirmausschnitt übereinstimmt. Allerdings kannst du eine Range erstellen, mit der man Bilder finden kann, die sich mit dem Suchaussschit unterscheiden.
    --> Imagesearch

    mfg anno2008

  • Also was ich bisher versuche is so was in der Art:

    $ImageMagickObj.composite("C:\test.bmp", "C:\test2.bmp", "C:\result.bmp")
    $Metric = $ImageMagickObj.compare("-metric", "MEPP", "C:\result.bmp", "C:\test.bmp", "C:\result2.bmp")

    also will quasi beide Bilder überlagern und dann das überlagerte mit dem Ursprungsbild abgleichen und nen Ähnlichkeitswert....Problem is wie krieg ich den in der Konsole ausgegebenen Metrik-Wert? Bei dem Code oben ist Metric leer...

  • Mist, scheint so, dass die Bilder immer ganz minimal abweichen, auch wenn sie fürs Auge identisch sind, jedenfalls findet er nur false Werte bei Vergleich. Brauche wohl doch eine Vergleichsmetrik wie bei Imagemagick.

    Also
    $ImageMagickObj.compare("-metric", "MEPP", "C:\cards\herz2.bmp", "C:\cards\herz4.bmp", "C:\FUCK.bmp")

    ist das Pendant dazu wie wenn ich in der cmd
    compare - metric MEPP ... eingebe, und dann erhalte ich einen Ähnlichkeitswert als Ausgabe , wie kann ich den denn in autoit auslesen? Hab irgendwas von Stdin/out Befehlen gelesen, checke das aber noch net so ganz. Danke.