PixelChecksum

  • Hallo,
    ich komme irgendwie mit der Pixelchecksumme nicht ganz zurecht.
    Und zwar will ich von einem Java-Programm Zahlen auslesen (siehe Grafik)
    Das bekomme ich auch hin, aber leider erhalte ich bei der Ziffer "0" sowie "8" die gleiche Checksumme.

    Grüße NoMaxx


    [autoit]

    dim $Z_0 = 1954609925, $Z_9 = 3205231883, $Z_8 = 1954609925, $Z_7 = 1644901339, $Z_6 = 1430123787
    dim $Z_5 = 1394866184, $Z_4 = 698946300, $Z_3 = 510528005, $Z_2 = 1354566914, $Z_1 = 348539078, $Z_L = 376611436
    dim $a1, $b1, $c1, $d1

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;~ Position des rechten Pumkts über dem u von "Füllstand"
    dim $Pixel_x = 614, $Pixel_y = 174

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    WinActivate("Bild1.png")
    winmove("Bild1.png","",10,10)

    [/autoit][autoit][/autoit][autoit]

    $Feld1 = PixelChecksum ( $Pixel_x + 4, $Pixel_y + 37, $Pixel_x + 13, $Pixel_y + 50 )
    $Feld2 = PixelChecksum ( $Pixel_x + 13, $Pixel_y + 37, $Pixel_x + 22, $Pixel_y + 50 )
    $Feld3 = PixelChecksum ( $Pixel_x + 22, $Pixel_y + 37, $Pixel_x + 31, $Pixel_y + 50 )
    $Feld4 = PixelChecksum ( $Pixel_x + 35, $Pixel_y + 37, $Pixel_x + 44, $Pixel_y + 50 )

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    if $Feld1 = $Z_5 Then
    $a1 = 5
    elseif $Feld1 = $Z_4 Then
    $a1 = 4
    elseif $Feld1 = $Z_3 Then
    $a1 = 3
    elseif $Feld1 = $Z_2 Then
    $a1 = 2
    elseif $Feld1 = $Z_1 Then
    $a1 = 1
    elseif $Feld1 = $Z_L Then
    $a1 = 0
    Else
    endif

    [/autoit][autoit][/autoit][autoit]

    if $Feld2 = $Z_0 Then
    $b1 = 0
    elseif $Feld2 = $Z_9 Then
    $b1 = 9
    elseif $Feld2 = $Z_8 Then
    $b1 = 8
    elseif $Feld2 = $Z_7 Then
    $b1 = 7
    elseif $Feld2 = $Z_6 Then
    $b1 = 6
    elseif $Feld2 = $Z_5 Then
    $b1 = 5
    elseif $Feld2 = $Z_4 Then
    $b1 = 4
    elseif $Feld2 = $Z_3 Then
    $b1 = 3
    elseif $Feld2 = $Z_2 Then
    $b1 = 2
    elseif $Feld2 = $Z_1 Then
    $b1 = 1
    elseif $Feld2 = $Z_L Then
    $b1 = 0
    Else
    endif

    [/autoit][autoit][/autoit][autoit]

    if $Feld3 = $Z_0 Then
    $c1 = 0
    elseif $Feld3 = $Z_9 Then
    $c1 = 9
    elseif $Feld3 = $Z_8 Then
    $c1 = 8
    elseif $Feld3 = $Z_7 Then
    $c1 = 7
    elseif $Feld3 = $Z_6 Then
    $c1 = 6
    elseif $Feld3 = $Z_5 Then
    $c1 = 5
    elseif $Feld3 = $Z_4 Then
    $c1 = 4
    elseif $Feld3 = $Z_3 Then
    $c1 = 3
    elseif $Feld3 = $Z_2 Then
    $c1 = 2
    elseif $Feld3 = $Z_1 Then
    $c1 = 1
    elseif $Feld3 = $Z_L Then
    $c1 = 0
    Else
    endif

    [/autoit][autoit][/autoit][autoit]

    if $Feld4 = $Z_0 Then
    $d1 = 0
    elseif $Feld4 = $Z_9 Then
    $d1 = 9
    elseif $Feld4 = $Z_8 Then
    $d1 = 8
    elseif $Feld4 = $Z_7 Then
    $d1 = 7
    elseif $Feld4 = $Z_6 Then
    $d1 = 6
    elseif $Feld4 = $Z_5 Then
    $d1 = 5
    elseif $Feld4 = $Z_4 Then
    $d1 = 4
    elseif $Feld4 = $Z_3 Then
    $d1 = 3
    elseif $Feld4 = $Z_2 Then
    $d1 = 2
    elseif $Feld4 = $Z_1 Then
    $d1 = 1
    elseif $Feld4 = $Z_L Then
    $d1 = 0
    Else
    endif

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"",$a1&$b1&$c1&","&$d1)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]

    Einmal editiert, zuletzt von NoMaxx (14. November 2013 um 16:06)

  • mal ein andere versuch das ganze anzugehen: kannst du mit der maus die zahlen markieren? dann könntest du sie ganz einfach kopieren und aus der Zwischenablage holen.

    Mfg

    Computers are like Airconditioning. They don´t work with open Windows.

  • Hi,
    ich kann die Werte leider nur über die Checksumme auslesen.

    Habe das Problem auch mittlerweile umgangen in dem ich den „STEP“
    von 1 (Standart) auf 2 erhört habe. Jetzt kommen wieder unterschiedliche
    Checksummen raus.

    Es wundert mich aber immer noch, warum Acht und Null
    bei „STEP“ 1 die gleiche Checksumme hatten.

    Grüße NoMaxx

    2 Mal editiert, zuletzt von NoMaxx (23. Februar 2009 um 14:23)

  • na ja so lange es funktioniert is ja gut^^
    (wenn ich auf Probleme stoße versuch ich auc immer alles zu umgehen befor ic mich um die Lösung des Problems Kümmere xD)

    Computers are like Airconditioning. They don´t work with open Windows.