Seit ungefähr 2 Monaten instgesamt sitze ich nun schon an der Software zu meiner Bachelorarbeit. Die Arbeit dreht sich um “Formularverarbeitung mit digitaler Stifttechnologie”. Ziel der Arbeit ist eine Evaluation digitaler Stifttechnologie zur mobilen Eingabe und späteren Weiterverarbeitung von Formulardaten. Hierbei geht es vor allem darum eine kostengünstige und benutzbare Lösung für mittelständische Unternehmen zu finden.

Im Rahmen der Arbeit habe ich ein Programm erstellt, dass den Workflow vom Erstellen der Formulardefinition über das handschriftliche Ausfüllen des Formulars bis zur Schrifterkennung und Speicherung der erkannten Daten abbildet. Zur Aufzeichnung der handschriftlichen Daten wird dabei der IntelliPen benutzt, der mit der digitalen Positionierungstechnik der Firma EPOS arbeitet.

So Viel zum Vorgeplänkel. Die Software ist jetzt in einem vorerst präsentationsfähigen Zustand. Ich hatte dabei direkte Unterstützung aus dem Softwareteam der Firma EPOS. Von denen habe ich auch die Bibliotheken bekommen, um die Daten vom Stift lesen zu können. Da ich meinem “Kontaktmann” dort natürlich auch gerne an meinen Ergebnissen teilhaben lassen wollte, habe ich ein kleines Vorstellungsvideo in Form eines Screencast gemacht.

Das hat natürlich den Vorteil, dass ich endlich auch mal anderen Leuten zeigen kann was ich die ganze Zeit gemacht habe. Was den Leser dieses Posts in die Lage versetzt, jetzt in den Genuss des erwähnten Screencasts zu kommen.

Ich proudly presente also nun: Den Formilizer!

Hier gibts das Video in HD.

Wenn sich jemand mit kreativer Namensgebung befasst und eine Idee diesbezüglich hat, wäre ich über einen Kommentar hocherfreut.

Vielleicht noch ein paar Infos zu dem Projekt. Die Software ist in C# für das .Net 2.0 Framework geschrieben. und benutzt Microsoft.Ink zur Schrifterkennung.

Die Software besteht aus 2 Teilen. Dem Form Designer und dem Form Processor.
Mit dem Form Designer kann man definieren, welche Bereiche des Formulars wie erkannt werden sollen. Möglichkeiten sind zum Beispiel Text, Number oder Checkbox.
Mit dem Form Processor wird die aufgenommene Handschrift anhand einer, zuvor erstellten, Formulardefinition ausgewertet. Die Felder werden erkannt und zur Weiterverarbeitung als XML-Datei gespeichert.

Für die Eingabe wird die Technologie von EPOS aus verschiedenen Gründen benutzt. Zum einen ist keie spezielles Papier zum Schreiben erforderlich. Weiterhin ist der Stift vergleichsweise günstig und die Enwicklung kostet keinerlei Lizenzgebüren. Das war auch der Hauptgrund, warum ich EPOS schließlich Anoto (Marktführer in diesem Bereich und wesentlich robustere Technologie) vorziehen musste.

Die Entwicklung mit dem EPOS Pen stellte sich aber dann als sehr komfortabel heraus. Über den EPOS Parser bekommt man aus den, vom Stift generierten, Binärfiles Punktlisten die die einzelnen Striche ergeben. Diese braucht man dann nur noch an ein Ink Objekt zu übergeben und schon hat man was mit dem man Arbeiten kann.

Nun muss ich aber erst einmal an meiner Arbeit weiter Arbeiten. Peace!

  • RSS
  • MySpace
  • Facebook
  • Twitter
  • Google Bookmarks

Schlagworte: , , , , , , , , , , , , , , , , , , ,

4 Kommentare zu „Formulizer läuft jetzt!“

  1. shoRdje sagt:

    Dein Englisch ist teilweise amüsant direkt aus dem Deutschen übersetzt :) Das wertet dein Tutorial unheimlich auf :D

    Aber sonst sehr fein! Ich hatte irgendwann mal nebenbei von dem Projekt mitbekommen.. Freut mich, dass du es ordentlich verwirklichen konntest BOYYY.

  2. maciek sagt:

    Will this solution work with Windows 7 32/64 and Polish language recognition?
    I tried and get exception on form processing. I’m .net programmer so if you could give me some advice i’ll be thankfull. Software is really great.

  3. r-dent sagt:

    Hi maciek!

    I tried to get it work with a guy from israel last time. We found that there are local differences in converting string to double and the other way around. Because of this, the example xml-file didn´t work as it uses comma instead of dots for decimal place. We fixed this quick and dirty by replacing all the commas in the generated xml file ;-)
    A real solution would be to fix the conversion process running on line 94 in FormProcessorControl.cs:

    Point position = this.pageContext.perc2px(new FPoint(
    (float)Convert.ToDouble(xml.GetAttrValue("x")),
    (float)Convert.ToDouble(xml.GetAttrValue("y"))
    ));

    I think there must be some setting or parameter to tell the conversion function how to act on the decimal place. Since we figured that out i didn´t had the time to fix it cause i´m writing on my Thesis now. But i hope it helps.
    If you get it working, please tell me!

    Peace! Roman

  4. r-dent sagt:

    Hi again!

    I totally forgot to mention your the recocnizer problem in itself. Sorry!
    There is a way to select a specific recognizer in FormProcessorConrol.cs line 47:
    Recognizers.RecognizersEnumerator recoList = new Recognizers().GetEnumerator();
    while (recoList.MoveNext())
    foreach (short e in recoList.Current.Languages)
    if (e == 1031) //UK-Engl.: 2057, US-Engl.: 1033, DE: 1031
    this.recognizer = recoList.Current;
    detectFormSketches();
    }

    You will find a list of the language codes here. Maybe its also necessary to install the Microsoft Recognizer Pack.
    Please tell me if some of this works.
    Peace! Roman

Kommentieren