Partypoker den Kontostand ablesen

  • Dann hast Du allerdings ein Problem. Wenn der Kontostand immer an der gleichen Stelle ist, kannst Du versuchen dir den Bildausschnitt zu holen und dann eine Art OCR zu programmieren, die dir das Ganze in eine Variable umwandelt.

    • Offizieller Beitrag

    Sagen wir es mal vorsichtig:
    Es gibt einen Admin hier im Forum, der an einer OCR arbeitet und die evtl. zur Verfügung stellen wird, wenn sie gut und schnell genug wird. Mit so einem Fall käme sie recht gut zu Recht, aber der Admin - der anonym bleiben will :D - kann nichts versprechen *unauffällig pfeif*.

    peethebee

    ps. Ich bin schon wieder viel zu gut drauf :D.

  • cool, das wäre super :D
    aber anders würde das nicht funktionieren?
    Ich weiß das Partyp Handhistory schreibt dort könnte man das eigentlich ablesen, aber es ist schwer da sich ja die log immer weiter bildet

    Einmal editiert, zuletzt von wittenberg (30. August 2007 um 21:49)

  • eine ocr gibt es doch schon: GOCR.
    Dazu noch convert.exe von Image Magick und MiniCap für Screenshot,
    dann kann man alles lesen. Hier das Bsp für deinen Screenshot (Noch als .bat)


    Alles erkannte muss noch bereinigt werden. Es wird in test1-test9 gespeichert.
    //Test ordner bei Rapidshare: http://rapidshare.com/files/52461563/test.zip.html
    Die .pnm Endungen kann man sich zum Anschauen der Bilder Testweise in .jpg umbenennen in der Bat. GOCR benötigt aber .pnm-Bilder

    4 Mal editiert, zuletzt von progandy (31. August 2007 um 15:30)

    • Offizieller Beitrag

    Sieht mir so aus, als ob das das gleiche ist, was du in purem AutoIt mit PixelChecksum machen kannst. Performance kann ich aber nicht genau einschätzen - bei der geringen Größe des Bereiches sollte das aber auch reichen.

    peethebee

    p.s. korrigiert mich, wenn das Programm etwas anderes macht ;).

  • OCR mit Autoit finde ich etwas schwierig :)
    Daher:
    1) Bereich ausschneiden
    2) invertieren
    3) Farben mit größeren werten als rot 8, grün 90 und blau 180 auf weiß setzen
    4) in Schwarz-Weiß umwandeln
    5) Als .pnm speichern, damit gocr es lesen kann. Das jedenfalls kan Autoit meines Wissens nicht.
    2-4 sind zur Verbesserung der Erkennungsqualität

    2 Mal editiert, zuletzt von progandy (31. August 2007 um 16:04)

    • Offizieller Beitrag

    Ich hatte schon mal eine OCR in AutoIt gemacht, aber die war zugegebenermaßen recht lahm und ich hatte keinen schönen Editor gemacht, um die Erkennungsdateien anzulegen, das soll jetzt beides besser werden ;).

    Hast du ein paar Laufzeitdaten von deinem Konstrukt (;) ) da, damit ich falls ich soweit bin mal gegentesten kann?

    Danke,
    peethebee

  • Genaue Daten hab ich nicht, aber Alle 9 Bilder werden in etwa 1 Sekunde erstellt und in Text umgewabdelt. Kannst selber ja mal messen. Hängt mit dran: http://rapidshare.com/files/52461563/test.zip.html
    (in der Neu Textdokument.bat muss in Zeile 2 nr1.jpg in nr1.pnm geändert werden)
    Hier wäre dan mal ein Autoit Test Script.

    Spoiler anzeigen
    [autoit]

    #include <Process.au3>
    ;AB HIER TIMER
    $begin = TimerInit()
    RunWait("convert pppk5.jpg -crop 80x15+240+88 -negate -threshold 8,90,180 -monochrome nr1.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+490+88 -negate -threshold 8,90,180 -monochrome nr2.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+679+142 -negate -threshold 8,90,180 -monochrome nr3.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+710+237 -negate -threshold 8,90,180 -monochrome nr4.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+652+387 -negate -threshold 8,90,180 -monochrome nr5.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+469+435 -negate -threshold 8,90,180 -monochrome nr6.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+220+412 -negate -threshold 8,90,180 -monochrome nr7.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+9+240 -negate -threshold 8,90,180 -monochrome nr8.pnm",@ScriptDir, @SW_HIDE)
    RunWait("convert pppk5.jpg -crop 90x15+52+120 -negate -threshold 8,90,180 -monochrome nr9.pnm",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr1.pnm -o test1.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr2.pnm -o test2.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr3.pnm -o test3.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr4.pnm -o test4.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr5.pnm -o test5.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr6.pnm -o test6.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr7.pnm -o test7.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr8.pnm -o test8.txt",@ScriptDir, @SW_HIDE)
    RunWait("gocr -C 0-9. -i nr9.pnm -o test9.txt",@ScriptDir, @SW_HIDE)
    $erg = 0
    For $i = 1 To 9
    $text = FileRead("test"&$i&".txt")
    $erg = $erg + StringRegExpReplace($text,"[a-z_ \n\r]","")
    Next
    ;Bis Hierher Timer
    $dif = TimerDiff($begin)
    FileWrite("log.txt",$dif&"\n")
    MsgBox(0,"Time Difference",$dif)
    MsgBox(0,"h",$erg)

    [/autoit]


    Das Script dauert: 1524.42248574868 Millisekunden (ca 1,5 Sekunden)
    RunDOS wurde mit RunWait ersetzt -> 0,5 Sekunden Zeitgewinn

    4 Mal editiert, zuletzt von progandy (2. September 2007 um 14:43)

  • kann mir das jemand vielleicht genauer erklären check das net ganz wie man das mit dem ocr macht.

    vielleicht auch über icq 320765032