Buchstaben "Scannen"

  • Allgemein

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Buchstaben "Scannen"

    Ich hoffe es ist eine halbwegs gute Überschrift für dieses Thema (ansonsten vorschläge ^^)

    mich würde mal intressieren ob es möglich ist aus einer einfachen bild (jpg, bmp, png oder was auch immer) die Struktur von Buchstaben & Zahlen auszulesen und diese als String wiedergeben. Die Buchstaben sind in der Arial Schriftart geschrieben, und daher auch gut Erkennlich. Und wenn ja wie ließt man sowas aus, "scannt" man den bereich sozusagen aus und das Programm erkennt die Struktur, oder ist dies garnicht möglich?

    Ich weiß es ist ein sehr schwieriges Thema und daher konnte ich leider auch nirgends was finden.

    freue mich über Antworten
    Das kann man so pauschal nicht sagen ob das möglich ist.

    Da spielen schon einige Faktoren eine Rolle:

    - Ist der Hintergrund in einer Farbe oder befinden sich dort andere Objekte?
    - Sind die Buchstaben voneinander getrennt oder sind sie relativ nah zusammen?

    Wenn Punkt 1 also die Hintergrundfarbe in einer Farbe ist und keine anderen Objekte da sind
    und es ebenfalls bei Punkt 2 der Fall ist, dass die Buchstaben relativ gut Abstand voneinander haben, sollte es nicht so schwer sein.

    Kevin Hombre schrieb:

    - Ist der Hintergrund in einer Farbe oder befinden sich dort andere Objekte?

    - Sind die Buchstaben voneinander getrennt oder sind sie relativ nah zusammen?
    die Hintergrundfarbe ist änderbar und geht über rund 20 Farben
    die Buchstaben sind in standart Arial Größe"16" geschrieben

    FreakJNS schrieb:

    auf jedenfall sehr nice ich werden darauf zurückgreifen ^^



    RodFromGermany schrieb:

    Sieh Dir mal diesan.
    hab ich früher schonmal gesehen die seite als ich selber gesucht ahbe jedoch woher krieg cih da die genannte *.dll ich könnt ja die aus dem installationsordner neben,
    aber die DLL sollte ja auch einzeln zu downlaoden sein oder ?
    Hat sich erledigt es war ein Beispiel Projekt extra vorhanden. Leider kann die DLL mein Bild nicht erkenn (also die Buchstaben drauf) weil es kein gleichmäßiger Hintergrund ist (Weiß, Grau etc) und daher muss ich mir was anderes suchen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Diversity“ ()

    Vielleicht ist es sinnvoll, wenn Du Dein Bild vorher etwas bearbeitest, alles, was dunkel ist, schwarz machen, den Rest weiß. Da greift solche Software ganz gut danach.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    das problem ist, dass das foto bei Buttonklick direkt übernomm werden sollen. Also das Foto (Dateinanhang) soll bei ButtonScan.Click nach den 2 Wörters (Spielernamen) "durchsucht" werden & diese dann in 2 Labels wiedergeben, sowie die Farbe die auf der Seite ist (rot & grün indem fall) ebenfalls übernomm werden als Forecolor von den 2 Labels.

    hoffe habt dazu noch ideen

    PS.: Die Farben würde ich per GetPixel auslesen.
    Bilder
    • Beispielfoto.JPG

      19,68 kB, 579×82, 142 mal angesehen
    Mach Dir ein temporäres Bild, in dem alles, was bunter ist als xxx oder dunkler ist als yyy, zu weiß gemacht wird, der Rest zu schwarz.
    Solche Softrwaren gehen implizit davon aus, dass die Schrift schwarz und der Untergrund weiß ist.
    Mach mal einen Test.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hier eine langsame aber sichere Methode.
    Was Du mit der Farbinformation anstellen musst, musst Du im Einzelnen ausprobieren.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim bmp As Bitmap = New Bitmap("c:\bla.bmp")
    3. For y = 0 To bmp.Height - 1
    4. For x = 0 To bmp.Width - 1
    5. Dim col As Color = bmp.GetPixel(x, y)
    6. ' hier mit der Farbe was anstellen
    7. bmp.SetPixel(x, y, col)
    8. Next
    9. Next
    10. bmp.Save("c:\bla2.bmp", Imaging.ImageFormat.Bmp)
    11. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das ist keine

    Diversity schrieb:

    sehr Nette idee
    , das ist knallharte Bildverarbeitung, die natürlich nicht per GetPixel() und SetPixel(), sondern direkt im Speicher ausgeführt wird, damit sie performant wird. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!