home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_01
/
OCR.LZH
/
OCR12_F
/
DOCS
/
OCR.DOC
next >
Wrap
Text File
|
1994-05-17
|
36KB
|
791 lines
OCR V1.2 (März 1994)
ein Texterkennungs-Programm für ATARI ST/STE/TT/Falcon
von Alexander Clauss, Stresemannstr. 44, 64297 Darmstadt
Dieses Programm ist FREEWARE. Es darf kostenlos kopiert und benutzt
werden. Eine Verbreitung über Mailboxen und PD-Serien ist erlaubt.
Das Programm muß immer komplett weitergegeben werden. Das Verändern des
Programms und der Anleitung ist nicht gestattet.
Wenn Ihnen das Programm gefällt und Sie es regelmäßig benutzen, sollten
Sie dem Autor eine freiwillige(!!) Spende (ca. 20-30 DM) zukommen lassen
oder mir zumindest eine Postkarte oder eine Nachricht per email schicken,
damit ich weiß, ob überhaupt Interesse an diesem Programm besteht.
Neue Versionen gibt es direkt vom Autor (bitte Diskette und ausreichend
frankierten Rückumschlag schicken), über FTP-Server (z.B.: ftp.uni-kl.de
(/pub/atari/misc) oder ftp.isbiel.ch (atari/diverses)) oder in Mailboxen.
Wer eine Email-Adresse hat und sie mir mitteilt, bekommt eine Nachricht,
wenn es eine neue Version von OCR gibt. Wer keine email-Adresse hat, kann
mir auch einen frankierten Rückumschlag (bzw. eine an sich selbst
adressierte Postkarte) schicken. Diejenigen werden dann per Post be-
nachrichtigt.
WICHTIG: Ich bin natürlich auch an Fehlermeldungen und/oder
Verbesserungsvorschlägen interessiert.
Bei Fehlermeldungen bitte immer Rechnertyp, TOS-Version,
Autoordner-Programme und Accessories angeben. Wenn möglich,
bitte genau beschreiben, wie man den Fehler reproduzieren kann.
Konstruktive Kritik und Vorschläge für zukünftige Versionen
sind ausdrücklich erwünscht!!!
Meine Adresse
-------------
Alexander Clauss
Stresemannstraße 44
D-64297 Darmstadt
email: aclauss@rbg.informatik.th-darmstadt.de
(Wer mich über die email-Adresse nicht (oder nicht mehr) erreichen kann,
sollte es über die Post-Anschrift versuchen!)
Bankverbindung (für freiwillige Spenden)
--------------
Sparkasse Darmstadt
BLZ: 508 501 50
Kontonr: 0115032143
Geben Sie bitte auf der Überweisung Ihre Adresse und als Verwendungs-
zweck 'OCR'+Versionsnummer an.
System-Voraussetzungen
======================
Dieses Programm läuft auf allen ATARI ST/STE/TT/Falcon Computern.
Es funktioniert in jeder Grafikauflösung mit mindestens 600x200 Punkten
und beliebiger Farbtiefe.
500 KBytes Speicher reichen aus, allerdings können dann keine größeren
Bilder eingeladen werden. Zum vernünftigen Arbeiten sollten daher mind.
2 MByte - besser noch mehr - Speicher vorhanden sein.
Einen (Handy-)Scanner benötigt man natürlich auch.
Kurze Übersicht
===============
Das Programm kann Texte in eingescannten Bildern erkennen und als
ASCII-Texte speichern, die dann mit einem Editor bzw. mit einer Text-
verarbeitung weiterverarbeitet werden können.
Für schwer erkennbare Zeichen können Korrekturregeln definiert werden.
Für verschiedene Schrifttypen können eigene Zeichensatz-Datenbänke
angelegt werden.
Für Bilder aus Zeichenprogrammen (die Texte wurden mit dem System- bzw
einem GDOS-Zeichensatz geschrieben) besitzt das Programm einen separaten
Modus in dem besonders wenig Rechenzeit verbraucht wird.
Erklärung der Programmfunktionen
================================
Die Menüfunktionen können fast alle auch mit der Tastatur ausgelöst
werden. Die entsprechenden Tastaturkommados werden im Folgenden in
Klammern angegeben.
Fenster
=======
Folgende Tastatureingaben beziehen sich auf die Fenster:
CTRL-U Oberstes Fenster schließen.
CTRL-F Das oberste Fenster wird auf die volle Größe gebracht, wenn
es schon diese Größe hat, wird es auf die ursprüngliche Größe
gebracht.
CTRL-W Wechselt das aktive Fenster. (Das untere Programmfenster
wird zum obersten und umgekehrt)
Cursortasten Verschiebt den Fensterinhalt in die entsprechende
Richtung zeilenweise.
SHIFT-Cursor Verschiebt den Fensterinhalt seitenweise.
Bild-Fenster
------------
Hier wird das eingeladene bzw. eingescannte Bild angezeigt. Da diese
Bilder oft sehr groß sind, kann man das Bild verkleinert anzeigen lassen
(siehe Bildgröße).
Man kann einen Block in diesem Fenster markieren, indem man mit gedrückter
Maustaste eine Box aufzieht. Wenn der Block nicht ganz korrekt definiert
wurde, kann man diesen auch nachträglich ändern. Man positioniert die
Maus über eine der acht kleinen Boxen auf der Blockmarkierung; jetzt
kann man mit gedrückter Maustaste die Blockgrenzen ändern.
Blöcke kann man löschen; dies ist wichtig um Linien, Bilder oder andere
Bereiche zu eliminieren, die nicht als Text erkannt werden können.
Wenn ein Block markiert wurde, wird bei der Erkennung nur der markierte
Bereich betrachtet; dies ist notwendig, wenn man mehrspaltige Texte
bearbeiten will (Jede Spalte muß einzel markiert und erkannt werden).
Text-Fenster
------------
Hier wird der erkannte Text ausgegeben.
Auch in diesem Fenster kann man einen Block markieren. Mit gedrückter
Maustaste überfährt man mit der Maus, den gewünschten Bereich. Alle
markierten Text-Zeilen werden invertiert ausgegeben. Hält man eine der
SHIFT-Tasten gedrückt, bevor man, wie oben erklärt, den Block definiert,
wird ein eventuell schon markierter Block bis zur Mausposition vergrößert
bzw. verkleinert.
Text-Blöcke kann man löschen und/oder ins Klemmbrett kopieren, auf diese
Weise ist eine einfache Übernahme des Textes zu anderen Programmen (die
das Klemmbrett unterstützen) möglich.
OCR-Menü
========
Programminfo
------------
Informationen über das Programm.
Datei-Menü
==========
Bild laden (CTRL-O)
--------------------
Läd ein Bild im IMG-Format (nur monochrom). Falls sich schon ein Bild im
Speicher befindet, das verändert wurde, erscheint ein Warnhinweis und
man hat dann folgende Möglichkeiten:
Speichern: Bevor das neue Bild geladen wird, wird das alte Bild ge-
speichert.
Laden: Das neue Bild wird geladen (die Änderungen des alten Bildes
gehen verloren).
Abbruch: Die ganze Aktion wird abgebrochen.
Bild speichern (CTRL-M)
-----------------------
Speichert das im Speicher befindliche Bild im IMG-Format.
ASCII speichern (ALT-S)
-----------------------
Der erkannte Text wird im ASCII-Format gespeichert. Gibt man eine schon
existierende Datei an, kann man den Text and diese Datei anhängen oder
diese Datei überschreiben (dann geht der ursprüngliche Inhalt der Datei
verloren).
ASCII löschen
-------------
Der erkannte Text wird gelöscht. Falls der Text noch nicht gespeichert
wurde, fragt das Programm sicherheitshalber noch einmal nach:
Speichern: Bevor der Text gelöscht wird, wird er gespeichert.
Löschen: Der Text wird gelöscht.
Abbruch: Die ganze Aktion wird abgebrochen.
Font laden (ALT-R)
------------------
Eine Zeichensatz-Datenbank wird geladen. Falls sich im Speicher eine
Zeichensatz-Datenbank befindet, die noch nicht gespeichert wurde, gibt
das Programm eine Warnung aus; man hat jetzt folgende Möglichkeiten:
Speichern: Die alte Zeichensatz-Datenbank wird gespeichert bevor die
neue geladen wird.
Laden: Die Zeichensatz-Datenbank wird geladen.
Abbruch: Die ganze Aktion wird abgebrochen.
Font speichern (ALT-W)
----------------------
Die Zeichensatz-Datenbank wird gespeichert.
Font löschen
------------
Die Zeichensatz-Datenbank wird gelöscht. Falls die Zeichensatz-Datenbank
noch nicht gespeichert wurde, gibt es eine Warnung und wieder die
Möglichkeit die Datenbank vorher zu Speichern, bzw. die Aktion abzu-
brechen. Wenn man eine neue Datenbank anlegen möchte, muß man die alte
vorher aus dem Speicher entfernen.
Programmende (CTRL-Q)
---------------------
Hier kann man das Programm verlassen. Wenn irgendwelche Daten noch nicht
gespeichert wurden, hat man jetzt noch die Möglichkeit dazu, denn es
erscheint wieder ein entsprechener Warnhinweis.
Bearbeiten-Menü
===============
Alles markieren (CTRL-A)
------------------------
Das komplette Bild wird als Block markiert, wenn das Bild-Fenster zu-
oberst liegt. Wenn das ASCII-Fenster oben liegt wird der komplette Text
markiert.
Blockmarken löschen (CTRL-B)
----------------------------
Löscht die Blockmarken im Bild-Fenster, falls es oben liegt; bzw. im
ASCII-Fenster, falls dieses oben liegt.
Kopieren (CTRL-C)
-----------------
Kopiert den markierten Block des obersten Fensters in das Klemmbrett
Diese Funktion ist nur dann anwählbar, wenn man in 'Parameter'/'Allge-
mein' die Klemmbrett-Unterstützung eingeschaltet hat.
Das Klemmbrett ist ein Verzeichnis auf der Festplatte/Diskette (meistens
C:\CLIPBRD). Programme, die das Klemmbrett unterstützen, können auf
einfache Weise Daten austauschen. Der Benutzer benutzt die Funktionen
'kopieren' oder 'ausschneiden' um (markierte) Daten in das Klemmbrett
zu übertragen. Möchte man die Daten im Klemmbrett wieder verwenden
(dabei ist es egal, ob dies aus dem gleichen Programm heraus geschieht,
oder von einem anderen Programm) benutzt man die Funktion 'einfügen'.
Wie sieht das z.B. in der Praxis aus:
Aus einem Programm 'SCANN.PRG' (Programmname erfunden) wird ein Artikel
einer Zeitschrift eingescannt. Mit dem Menüpunkt 'kopieren' wird diese
Grafik in das Klemmbrett kopiert. Jetzt wechselt man zum Programm
'OCR.PRG'; hier benutzt man die Funktion 'einfügen' um die Grafik aus dem
Klemmbrett zu laden. Jetzt wandelt man mit Hilfe von 'OCR.PRG' die Grafik
in einen Text um, und 'kopiert' ihn in das Klemmbrett. Nun wechselt man
zu einer Textverarbeitung und läd dort den Text aus dem Klemmbrett mit
'einfügen'.
Vorteil des Klemmbretts: Der Benutzer muß sich also keine Dateinamen
aussuchen um die Zwischendateien zu speichern um sie im nächsten Programm
wieder zu laden.
Ausschneiden (CTRL-X)
---------------------
Der markierte Bereich des obersten Fensters wird in das Klemmbrett
kopiert. Im Fenster wird dieser Bereich danach gelöscht.
Diese Funktion kopiert den markierten Bereich nur dann in das Klemmbrett,
wenn man in 'Parameter'/'Allgemein' die Klemmbrett-Unterstützung einge-
schaltet hat. Gelöscht wird der Bereich aber auf jeden Fall.
Einfügen (CTRL-V)
-----------------
Wenn sich im Klemmbrett ein IMG-Bild befindet wird dieses geladen.
Diese Funktion ist nur dann anwählbar, wenn man in 'Parameter'/'Allge-
mein' die Klemmbrett-Unterstützung eingeschaltet hat.
Bildgröße (CTRL-0,1,2,3,4)
--------------------------
Hier kann man das Bild verkleinert anzeigen lassen, damit man eine
bessere Übersicht erhält. Unter MultiTOS oder auf dem Falcon ist die
Bildgröße auch durch ein Submenü einstellbar, sonst erscheint eine
Dialogbox.
Folgende Größen sind möglich:
100% (CTRL-0): Original Größe
50% (CTRL-1): Breite und Höhe des Bildes haben nur noch die halbe
Länge (1:2).
25% (CTRL-2): 1:4
12.5% (CTRL-3): 1:8
6.25% (CTRL-4): 1:16
Textfenster öffnen (CTRL-T)
---------------------------
Öffnet das Textfenster.
Text erkennen (F1)
------------------
Startet die Texterkennung. Wenn ein Block markiert wurde, wird nur
dieser Blockinhalt zur Texterkennung benutzt; ist kein Block definiert,
wird das komplette Bild zur Texterkennung verwendet. Bilder und Linien
müßen eventuell vorher gelöscht werden, damit das Programm Textzeilen
bzw. einzelne Buchstaben erkennen kann.
WICHTIG: Bitte achten Sie darauf, daß die richtige Zeichensatz-Datenbank
geladen wurde. Wenn noch keine passende Datenbank vorhanden
ist, sollte man mit 'Font löschen' die eventuell im Speicher
befindliche löschen (In 'Parameter'/'Font' sollte man jetzt
unbedingt die relevanten Scannereinstellungen ins Kommentarfeld
eintragen. Auch an die Leerzeichenbreite sollte man denken).
Das Programm sucht zunächst nach der ersten Zeile. Als Zeile wird
erkannt, was durch mindestens eine leere (weiße) Linie oben und
unten umgrenzt wird und mindestens 5 Pixel hoch ist (Ich nehme an, daß
niemand auf die Idee kommt, solch kleine Buchstaben (<5 Pixel Höhe)
erkennen zu wollen). Auf diese Weise kann das Programm unter Umständen
Unterstreichungen automatisch ignorieren (wenn sich Unterlängen einiger
Buchstaben aber auf gleicher Höhe wie die Unterstreichung befinden,
funktioniert dies nicht mehr; in diesem Fall muß man die Unterstreichung
löschen (Block ausschneiden)).
Nach dem das Programm eine Zeile gefunden hat, werden die Buchstaben
dieser Zeile separiert und mit den Buchstaben der Zeichensatz-Datenbank
vergleichen. Das Zeichen aus der Datenbank, das die größte Ähnlichkeit
mit dem zu erkennenden Zeichen hat, wird in den Text eingefügt. Findet
sich in der Datenbank kein Zeichen, das eine ausreichende Ähnlichkeit
hat, wird bei eingeschaltetem Lernmodus (siehe Parameter) der
Benutzer nach dem Zeichen befragt, bei ausgeschaltetem Lernmodus wird
ein, vom Benutzter bestimmbares, Ersatzzeichen in den Text eingefügt.
Sowohl die Art des Vergleichs zwischen den Zeichen, als auch der Grad
der Übereinstimmung, der mindestens nötig ist um ein Zeichen als
'erkannt' zu betrachten, läßt sich einstellen (siehe Parameter).
Bei eingeschaltetem Lernmodus, fragt das Programm in einer Dialogbox
nach, wenn es ein Zeichen nicht mit ausreichender Sicherheit erkennen
kann. Das Zeichen wird in der Dialogbox angezeigt und ausserdem im
Bildfenster markiert. In der Dialogbox gibt man das (die) zu diesem
Zeichen passende(n) ASCII-Zeichen ein. Man kann hier bis zu fünf ASCII-
Zeichen eingeben, da es vorkommen kann, daß Zeichen beim Scannen zusam-
menwachsen (Das Programm kann sie dann nicht trennen). Zusammenge-
wachsene Zeichen (Ligaturen) können durchaus auch schon in der Vorlage
vorkommen, dies wird gerne bei bestimmten Zeichenfolgen gemacht.
In der Dialogbox kann man außerdem angeben, ob das zu erkennende Zeichen
in die Zeichensatz-Datenbank aufgenommen, und ob das ASCII-Zeichen in
den Text eingefügt werden soll. Diese beiden Einstellungen sind normal-
erweise eingeschaltet. Wenn man aber weiß, daß das zu erkennende Zeichen
so nicht (oder nie) mehr vorkommen wird (weil es beispielsweise durch
Fehler beim Scannen, oder eine schlechte Scan-Vorlage verunstaltet ist)
kann man verhindern, daß das Zeichen in der Zeichensatz-Datenbank ge-
speichert wird. Verläßt man die Dialogbox mit 'OK' wird mit der Texter-
kennung fortgefahren, 'Abbruch' bricht die Texterkennung ab.
Man kann die Texterkennung auch dann abbrechen, wenn das Programm nicht
wegen unbekannten Zeichen nachfragt (siehe nächster Punkt).
Texterkennung abbrechen (ESC)
-----------------------------
Hiermit kann man die Texterkennung abbrechen. Da das Programm aber nur
am Ende jeder Zeile auf Tastendrücke bzw. auf eine Menüauswahl reagiert,
kann es durchaus einige Sekunden dauern bis die Texterkennung abge-
brochen wird.
Parameter
=========
Texterkennung (ALT-O)
---------------------
Diese Einstellungen beeinflussen die Texterkennung.
Lernmodus: Wird ein Zeichen nicht mit genügend hoher Übereinstimmung
erkannt, wird der Benutzer bei eingeschaltetem Lernmodus
befragt, bei ausgeschaltetem Lernmodus wird '?' in den Text
eingefügt.
Übereinstimmung: Hier gibt man an, wie groß die Übereinstimmung beim
Vergleich sein muß, um ein Zeichen als 'erkannt' zu be-
trachten.
Akustisches Signal: Wenn die Zeichensatz-Datenbank ziemlich vollständig
ist, wird das Programm sehr selten (wenn überhaupt) nach
einem Zeichen fragen. Man kann das Programm daher alleine
rechnen lassen; wenn dieser Knopf angewählt ist, macht das
Programm mit einem PING aufmerksam, wenn die Erkennung be-
endet ist oder das Programm nach einem Zeichen fragt.
(Dieser Ton kann auch mit dem Kontrollfeld abgeschaltet
werden! D.h.: Wenn man ihn im Kontrollfeld abgeschaltet hat,
wird man niemals einen Ton hören!)
Vergleich der Zeichen: Das Programm vergleicht die Zeichen des Bildes
mit den Zeichen der Zeichensatz-Datenbank. Zum Vergleich
wird das zu erkennende Zeichen wie eine Schablone über die
Zeichen der Datenbank gelegt. Wählt man 'schnell', wird
das Zeichen nur einmal mit jeden Zeichen aus der Datenbank
verglichen; bei 'mittel' und 'genau' wird das Zeichen zu-
sätzlich etwas verschoben mit den Zeichen aus der Datenbank
verglichen (Auf diese Weise können Ungenauigkeiten, die
durch das Scannen entstehen, ausgeglichen werden. Durch die
zusätzlichen Vergleiche wird dann natürlich mehr Rechenzeit
verbraucht, aber das Programm fragt nicht so oft nach unbe-
kannten Zeichen; die Trefferquote steigt an).
Qualität des Bildes: Stammt das Bild aus einem Scanner, sollte man hier
unbedingt 'Scanner' auswählen. Kleine Unterschiede zwischen
den Zeichen, die durch das Scannen entstehen, werden in
dieser Einstellung herausgefiltert (Filter).
Hat man z.B. ein Bild aus einem Zeichenprogramm, werden die
darin vorkommenden Texte (Systemzeichensatz oder GDOS-
Zeichensätze) sehr wahrscheinlich ohne jegliche Störung sein
(im Gegensatz zu eingescannten Texten, die normalerweise
immer Störungen [z.B.unsaubere Ränder] enthalten).
In diesem Fall sollte man 'präzise' einstellen. Dann werden
ALLE Unterschiede zwischen den Zeichen beachtet. Wenn diese
Zeichensätze sehr klein sind, müssen tatsächlich ALLE Unter-
schiede beachtet werden (die oben genannten Filter lassen
sonst eventuell nicht mehr viel von den Zeichen übrig).
Diese Einstellung spart übrigens einige Rechenzeit.
Schräglage des Bildes: Hier kann man einstellen, ob das Programm auch
schräg eingescannte Vorlagen akzeptiert. Bei normalem Text
kann man diese Einstellung immer so wählen, daß auch eine
stärkere Schäglage akzeptiert wird. Es kann aber in seltenen
Fällen notwendig sein, eine schwache Schräglage einzustellen:
Bei Texten die kurze Absätze oder einzelne (freistehende)
kurze Zeilen enthalten, die sehr(!!!) weit eingerückt sind,
kann es passieren, daß das Programm diese Zeilen sonst
'übersieht'.
(Beispiel: Briefe mit oben rechts stehendem Absender (weit
eingerückt bezüglich dem restlichen Text))
Font (ALT-F)
------------
Hier erhält (bzw. bestimmt) man Informationen über die gerade im
Speicher befindliche Zeichensatz-Datenbank.
Leerzeichen:
Breite: Legt die Mindestbreite der Leerzeichen fest
variable Breite: Falls in der Vorlage alle (Leer-)Zeichen gleich
breit sind, muß dieser Knopf ausgeschaltet werden.
Sonst sollte er eingeschaltet werden.
Kommentar: Hier kann man beliebigen Text eingeben, der auch beim
Speichern der Datenbank mitgepeichert wird. Hier sollte
man notieren, um welchen Zeichensatz es sich handelt
(z.B. Herkunft: aus Zeitschrift XYZ) und mit welcher
Scannereinstellung (DPI, Kontrast, Helligkeit etc.) die
Zeichen entstanden sind. Somit kann man vor dem Scannen
von Text, den Scanner richtig einstellen (Weichen die
Scannereinstellungen zu stark ab, wird das Programm
unter Umständen nur noch wenige Zeichen erkennen).
Font bearbeiten (ALT-E)
-----------------------
Hier kann man einige Änderungen an der Zeichensatz-Datenbank vornehmen.
Zeichensatz-Überblick: Hier kann man durch die Zeichen blättern.
Ein Klick auf ein Zeichen, wählt dieses aus (siehe
nächsten Punkt).
Ausgewähltes Zeichen: Hier sind Änderungen an dem ausgewählten Zeichen
möglich.'Löschen' löscht dieses Zeichen aus der Datenbank,
in 'ASCII' kann man die zu dem Zeichen gehörenden ASCII-
Code (bis zu 5 ASCII-Zeichen) ändern/bestimmen.
Zeichen suchen: Man kann ASCII-Zeichen suchen. 'Suchen' sucht ab
Anfang, 'Suchen fortsetzen' sucht ab der aktuellen
Position. Ist das Suchen erfolgreich, wird das gefundene
Zeichen nach 'Ausgewähltes Zeichen' übertragen.
Sortieren: Die Zeichen der Datenbank werden sortiert.
Statistik: Man erhält eine Übersicht, welche Zeichen sich wie oft in
der Datenbank befinden. Es werden aber nur die wichtigsten
Zeichen angezeigt (Platzgründe).
Korrektur (ALT-C)
-----------------
Die Texterkennung ist natürlich nicht perfekt. Es gibt Zeichen, die das
Programm schwer (bzw. nicht) unterscheiden/erkennen kann. Bei einigen
Zeichensätzen sind beispielsweise '1' und 'l' noch nicht mal mit dem
Auge gut zu unterscheiden, wenn dann der Scanner noch einige Ungenauig-
keiten 'einbaut' kann das Zeichen nicht mehr genau zugeordnet werden.
Hier hilft nur noch eine Korrektur, die die Umgebung des Zeichens be-
trachtet, und prüft ob in dieser Umgebung das eine oder andere Zeichen
wahrscheinlicher ist (z.B. innerhalb von Ziffern wird sich kein 'l'
sondern eine '1' befinden).
Bestimmte Zeichen werden als mehrere einzelne Zeichen erkannt (z.B.
<"> wird als zwei mal <'> erkannt).
In dieser Dialogbox können Korrekturregeln für diese Probleme fest-
gelegt werden.
Ersetzungen: Hier wird eingetragen, welche Zeichenkombinationen durch
eine andere ersetzt werden soll. (Man kann z.B. zwei
(Hoch-)Kommata in Anführungsstriche umwandeln)
Korrekturen: Wenn im zu erkennenden Text die Zeichen 1/l, l/I oder 0/O
sehr ähnlich sind, kann man automatische Korrekturen
einschalten.
ACHTUNG: Diese Korrekturen können im Einzelfall natürlich
auch falsche Ergebnisse liefern!
Text formatieren:
Original Format: Eine Zeile Text im Bild, wird zu einer Zeile ASCII-
Text. Leerzeichen am Zeilenanfang können ignoriert werden.
neu formatieren: Der Text im Bild wird vollkommen neu formatiert.
Dabei wird die gewünschte Zeilenbreite beachtet. Dies ist
nützlich, wenn man Vorlagen hat, die aus engen Spalten
bestehen. In diesem Fall besitzt der Text meistens viele
getrennte Wörter. Bei eingeschalteter Trennungskorrektur
werden die Trennungsstriche automatisch entfernt. Es gibt
aber auch hier einige Ausnahmeregeln. (Übrigens wird 'k-k'
wieder zu 'ck' überführt). Diese Option ist natürlich nur
für Fließtext gedacht, für Programm-Listings, Tabellen etc.
ist diese Einstellung nicht geeignet. (Das Programm selbst
setzt keine neuen Trennstriche!)
Leerzeilen zwischen Erkennungs-Vorgängen:
Zwischen den Texten, die aus verschiedenen Erkennungs-
Vorgängen stammen, wird die angegebene Anzahl von Leer-
zeilen eingefügt.
Unbekanntes Zeichen:
Hier gibt man an, mit welchem Zeichen das Programm (bei
ausgeschaltetem Lernmodus) unbekannte Buchstaben kenn-
zeichnen soll.
Allgemein (ALT-A)
-----------------
Dialoge: Die Dialogboxen können wahlweise in der Bildschirmmitte oder an
der Mausposition auftauchen. Der Punkt 'verschieben' bewirkt,
daß der durch die Dialogboxen verdeckte Teil des Bildschirms
gepuffert wird, und man die Dialogboxen verschieben kann
(klappt aber nur, wenn genug Speicher frei ist), wenn man auf
den Dialoghintergrund klickt. Hält man beim Verschieben eine
SHIFT-Taste gedrückt, wird der Dialog unsichtbar verschoben;
auf diese Weise kann man auch bei kleinen Auflösungen 'hinter'
die Dialoge schauen.
(Hat man 'Let'em Fly', 'MultiDIAL' oder ähnliche Programme
sollte man diesen Knopf NICHT anwählen, denn diese Programme
erledigen das Verschieben wesentlich besser!).
Pfade & Dateien:
Klickt man auf die Pfad-Boxen, kann man im Fileselector ver-
schiedene Zugriffspfade bestimmen. Diese Pfade werden beim Pro-
grammstart automatisch voreingestellt, sodaß man beim Laden/
Speichern gleich im richtigen Verzeichnis landet.
Klickt man auf die Standard-Datei-Boxen, kann man im Fileselector
Dateien aussuchen. Diese Dateien werden beim Programmstart auto-
matisch geladen. Wenn man immer die gleiche Zeichensatz-Datenbank
bzw. die gleichen Korrekturregeln benutzt, kann man sie somit
automatisch laden lassen.
Verschiedenes:
Wird der 'Text-Fenster'-Button angekreuzt, wird das Text-Fenster
nach dem Programmstart automatisch geöffnet.
Klemmbrett:
Hier kann man die Verwendung des Klemmbretts für die Funktionen
'kopieren', 'ausschneiden' und 'einfügen' getrennt für Grafik
(IMG-Fenster) und Text (Textfenster) ein.- bzw. ausschalten.
Da das Programm Grafik in Text verwandelt, ist ein 'kopieren'
und/oder 'ausschneiden' von Text in das Klemmbrett sehr nützlich.
Das 'Ausschneiden' (=löschen) von Grafik in das Klemmbrett ist
aber wahrscheinlich nicht beabsichtigt, da normalerweise nur
Grafik-Blöcke gelöscht werden sollen, die die Texterkennung stören
würden. Schaltet man z.B. die Klemmbrett-Unterstützung für das
'Ausschneiden' von Grafik aus, spart man Zeit (die Grafik muß nicht
gespeichern werden) und es wird verhindert, daß ein zuvor auf das
Klemmbrett kopierter Text durch eine ausgeschnittene Grafik über-
schrieben wird.
Nachfrage: Diese beiden Buttons entsprechen den Buttons im dem Dialog,
mit dem das Programm nach unbekannten Zeichen fragt. Hier kann
man angeben wie die Buttons in Nachfrage-Dialog voreingestellt
werden sollen. Hier kann man sich eine geeignete Voreinstellungen
wählen, sodaß man während des Erkennungsvorganges möglichst wenige
Einstellungen ändern muß.
Wenn die Zeichensatz-Datenbank schon (fast) komplett ist, fragt
das Programm meist nach Buchstaben die durch Scanfehler verun-
staltet wurden (diese Buchstaben sollen dann nicht in die Daten-
bank aufgenommen werden), daher ist es günstig die 'Aufnahme in
Datenbank' auszuschalten. Wurde eine Datenbank neu angelegt, ist
es günstiger 'Aufnahme in Datenbank' einzuschalten.
sichern
-------
Die Einstellungen des Programms werden gesichert. Beim nächsten Pro-
grammstart werden die Einstellungen auf die gesicherten Werte gesetzt.
Gesichert werden:
* Alle Einstellungen der Dialogboxen 'Text erkennen' und
'Allgemeine Einstellungen'
* Fensterpositionen und Fenstergrößen der beiden Fenster
Tips & Tricks
=============
Man sollte immer darauf achten, daß man beim Scannen die gleichen
Scanner-Einstellungen benutzt, mit der auch die Zeichensatz-Datenbank
aufgebaut wurde. Werden andere Einstellungen benutzt kann es passieren,
daß die Zeichen dicker oder dünner ausfallen; das Programm wird dann
Probleme haben, die Zeichen zu erkennen. Falls die Scan-Vorlagen
allerdings sehr unterschiedliche Qualität haben, kann es dennoch nötig
sein, andere Scanner-Einstellungen zu benutzen.
Für jeden unterschiedlichen Zeichensatztyp und für jede Größe sollte man
eine eigene Zeichensatz-Datenbank aufbauen. Dadurch bleiben die Daten-
bänke klein. Eine durch viele Zeichensatztypen aufgeblähte Datenbank
verlangsamt den Erkennungsvorgang deutlich.
Es ist in machen Fällen aber trotzdem nicht zu vermeiden, daß man mehrere
Zeichensatztypen in einer Datenbank halten muß (z.B. wenn man oft Texte
bearbeitet, die normale UND kursive Schrift enthalten).
Damit man später noch weiß, welche Zeichensatz-Datei für welche Vorlage
(und Scannereinstellung) geeignet ist, sollte man die Kommentarfelder in
'Einstellungen'/'Font' immer gewissenhaft ausfüllen.
Die Scannergebnisse sollten sauber und gleichmäßig sein. Kontrast und
Helligkeit so einstellen, daß mehrere Zeichen nicht zusammenwachsen aber
in den Zeichen selbst keine Lücken entstehen.
Je niedriger die Scannerauflösung, desto weniger Platz benötigen die
Zeichen in der Datenbank (entsprechend weniger Rechenzeit wird bei der
Erkennung verbraucht). Allerdings besteht bei niedrigen Scannerauf-
lösungen die Gefahr, daß mehrere Zeichen zusammenwachsen. Man muß etwas
experimentieren um die ideale Auflösung zu finden.
Den Grad der Übereinstimmung beim Vergleich der Zeichen kann man bei
hohen Scannerauflösungen bzw. guten Scannergebnissen niedrig einstellen.
Sollten bei der Erkennung bestimmte Zeichen immer wieder falsch bestimmt
werden, sollte man den Grad der Übereinstimmung etwas erhöhen. Bei hohem
Grad, fragt das Programm etwas öfter nach.
Möchte man in den Dialogboxen Buchstaben eingeben, die nicht auf der
Tastatur vorhanden sind, benötigt man entweder TOS 2.06/3.06 oder höher
oder MultiTOS (man kann den ASCII-Code, bei gedrückt gehaltener
ALTERNATE-Taste, über den Ziffernblock eingeben) oder Let'em Fly von
Oliver Scheel (Nach betätigen von SHIFT-INSERT erhält man eine Übersicht
über alle möglichen Zeichen) oder COMPOSE von Pascal Fellerich.
Besitzt man keine Festplatte, sollte man die Klemmbrett-Unterstützung
ausschalten (siehe 'Parameter'/'Allgemein').
Auch wenn das Programm ab Version 1.2 (leicht) schräg eingescannte
Vorlagen akzeptiert, sollte man darauf achten, die Vorlagen möglichst
gerade einzuscannen.
Technisches
===========
Das Programm unterstützt die erweiterten WM_ARROWED-Nachrichten und die
WM_BOTTOMED-Nachricht von Winx 2.2.
Das Programm unterstützt außerdem den VSCR-Cookie. D.h. auch bei einer
hohen virtuellen Grafikauflösung erscheinen Dialogboxen im gerade sicht-
baren Bildausschnitt.
Auf dem Falcon (>=TOS 4.02) und unter MultiTOS werden die 3D-Effekte in
den Dialogboxen benutzt. Die Bildgröße kann man dann auch über ein Sub-
menü einstellen.
Speicherplatzverbrauch: Der meiste Speicher wird gewöhnlich von den
eingescannten Bildern verbraucht. Dieser Speicherplatz wird außerdem
zweimal benötigt: Das Bild muß einmal im Standardformat (die Text-
Erkennung bezieht ihre Daten aus diesem Speicherbereich) und einmal
im geräteabhängigem Format (dieses Format ist abhängig von der Grafik-
karte und wird zur Anzeige auf dem Bildschirm benötigt) vorliegen.
Beispiel:
Eine DIN A4 Seite Text (8x11 Zoll), mit 400 DPI eingescannt, benötigt
ca. 1.7 MBytes, das Programm benötigt diesen Platz zweimal: also
ca. 3.4 MBytes.
Bekannte Fehler und Unschönheiten
=================================
Das Programm kann in seltenen Fällen zwei Zeichen nicht trennen, obwohl
sie nicht zusammengewachsen sind. Grund: Es gibt einige Buchstaben, die
aus mehreren nicht zusammenhängenden Teilen bestehen (z.B. alle Buch-
staben mit Punkt [i,j,ä usw.] oder ░,ñ usw.); das Programm versucht diese
Buchstaben nicht in mehrere Teile zu trennen, mehrere sich überlappende
Buchstaben sollten aber doch getrennt werden (aber diese Unterscheidung
klappt nicht immer).
Bei großen Scannerauflösungen werden die Zeichen der Datenbank recht
groß. Das Programm verbraucht dann sehr viel Rechenzeit.
Die Größe der Zeichen ist zur Zeit noch auf max. 96x96 Pixel beschränkt,
daher sollte man die Scannerauflösung nicht zu hoch wählen. (Empfehlung:
max. 400 DPI, dann können auch Ligaturen aus 2-3 Buchstaben noch in 96x96
Pixeln untergebracht werden).
Aufgrund eines Fehlers im Betriebssystem (<=TOS 2.06) kann es bei der
Anzeige eines großen Bildes zu Pixel-Müll kommen. Der Fehler steckt in
der Funktion 'vr_trnfm()'. Hierfür gibt es einen Patch von Laurenz
Prüßner, S. und W. Behne (veröffentlicht im ST-Magazin 9/91).
Auf dem TT/Falcon oder bei installiertem NVDI (oder einem VDI-Treiber
einer Grafikkarte) tritt dieser Fehler (hoffentlich) nicht mehr auf
(der oben genannte Patch ist dann nicht nötig).
Zukunft
=======
Folgende Erweiterungen sind geplant (Vorschläge werden gerne aufgenommen):
* Nachfrage nach unbekannten Zeichen nachdem das komplette Bild (Block) be-
arbeitet wurde. Bei unvollständigen Datenbänken, könnte man das Programm
alleine rechnen lassen ohne gelegentlich Fragen beantworten zu müssen;
die kommen dann ganz am Schluß.
* Batch-Betrieb: Automatisches Abarbeiten mehrerer Vorlagen. (Voraussetzung
hierfür ist die Implementation des ersten Punktes)
* Änderungen (auf Pixelebene) der Zeichen in der Datenbank. (Um gößere
Scann-Fehler etwas auszugleichen)
* Mehrere Zeichensatz-Datenbänke gleichzeitig verwalten. Man könnte dann
auch bei Texten die verschiedene Schrifttypen oder -größen enthalten,
die Datenbänke so organisieren, daß sie nur einen Schrifttyp (Größe)
enthalten.
Sonstiges
=========
Ich empfehle, das Programm 'Let'em Fly' von Oliver Scheel zu
installieren. Damit werden alle Dialogboxen verschiebbar, und man kann
sie dann auch mit der Tastatur bedienen (u.a. bequeme Eingabe aller
ASCII-Zeichen und erweiterte Editiermöglichkeiten in Edit-Felder).
Besonders unter Multitasking-Systemen (z.B. MultiTOS) sollte man auch
'MultiDialog' von Helmut Neukirchen installieren. Dieses Programm legt
Dialogboxen in Fenster, so daß andere Prozesse nicht mehr durch Dialoge
blockiert werden können.
Ausserdem empfehlenswert: Winx von Martin Osieka. Mit Hilfe dieses
Programms kann man bis zu 40 Fenster gleichzeitig öffnen und es werden
einige zusätzlichen Fensterfunktionen installiert.
Diese Programme gibt es in Mailboxen und auf FTP-Servern oder direkt
von den Autoren.
Versionsübersicht
=================
Version Datum Was hat sich geändert
--------------------------------------------------------------------
V1.2 08.03.1994 - Dialoge (verschiebbar) können unsichtbar
verschoben werden (SHIFT-Taste gedrückt halten)
- Erkennungsvorgang beschleunigt
- Buchstaben-Trennung verbessert
- Repräsentat für unbekanntes Zeichen kann
vom Benutzer bestimmt werden
- Fehler beim IMG-Laden behoben
- Schräg eingescannte Vorlagen können jetzt
auch bearbeitet werden.
- Viele weitere Kleinigkeiten wurden einge-
baut.
V1.1a 06.02.1994 - Überflüßige 'Redraws' entfernt
- Fehler in Textblock-löschen entfernt
- Fehler im Zeichenvergleich beseitigt
V1.1 04.02.1994 - Klemmbrett-Unterstützung
- Redraw-Fehler beim Scrollen behoben
V1.0a 01.02.1994 - Redraw-Fehler im Grafik-Fenster entfernt
- OCR versucht jetzt nicht mehr unter Mag!X 2.0
ein Submenu zu installieren
V1.0 30.01.1994 - erste veröffentlichte Version