home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
apps
/
misc
/
scrypto
/
liesmich.txt
< prev
next >
Wrap
Text File
|
1992-04-23
|
16KB
|
309 lines
Schrifterkennung mit dem Programm S c r y p t o
------------------------------------------------
Wie der Name entstand:
Ein Schriftstück heißt im lateinischen scriptum. Auch wenn das
Latein heute etwas aus der Mode gekommen ist, so wird dieses Wort
doch noch heute an den Hochschulen verwendet. Aber wie kam das Y
in den Programmnamen? Nun - Schrift hat viel mit Ästhetik zu tun,
und da das Y so ein schöner Buchstabe ist, der leider viel zu
selten in der deutschen Sprache vorkommt, habe ich das Y in den
Programmnamen eingebaut und damit das Ganze noch ein wenig
vornehm klingt (nomen est omen), habe ich ein O darangehaengt. Es
heißt zwar "vornehm geht die Welt zugrunde", aber man soll ja
posetiv denken. Also hoffen Sie mit mir, daß das Programm
möglichst viele Buchstaben richtig erkennt und wenn einmal ein
falscher 50iger dabei ist, dann bedenken Sie, daß das Programm ja
nichts gekostet hat. Irren ist schließlich nicht nur menschlich!
Mehr zur philosophischen Seite der Datenverarbeitung in dem
Ordner GEGJAHWE in der Datei NEUROVOR.DOC (1st Word Plus Text).
Dieser Ordner enthält außerdem noch Texte, die man bei der
Diskussion mit christlichen Sekten und christlichen Fundamenta-
listen als Argumentation verwenden kann. Der Ordner enthält einen
Teil jener Texte, die Ende 1992 als Buch unter dem Titel "Mit
Argumenten gegen die Zeugen Jahwes" erscheinen sollen (gute
Vorsätze für das Jahr 1992 und gerade passend zu dem von den
christlichen Kirchen ausgerufenen Jahr der Bibel, da es sich
hierbei um Religionskritik anhand der Bibel handelt).
Zur Arbeitsweise des Programms SCRYPTO:
Grundsätzliches
Jede Art der Informationsgewinnung geht von bestimmten Voraus-
setzungen aus. Wir gehen z. B. von der Voraussetzung aus, daß die
ganze Welt aus unterschiedlichen Dingen besteht. Streng genommen
stimmt das nicht ganz, denn die ganze Welt ist erfüllt von
elektromagnetischen Kraftfeldern und die Gravitation hält unsere
Galaxie zusammen. Atome und Moleküle sind nur Energiebündel in
diesem Kosmos, Bündel mit unterschiedlicher Größe und unter-
schiedlichen Eigenschaften. Mit den Voraussetzungen ist das eben
so eine Sache. Die meisten stimmen nur zu einem gewissen
Prozentsatz oder sie bleiben Ansichtssache.
Die Informationsgewinnung aus einem Bild läßt sich grob als ein
dreistufiger Prozeß beschreiben. Zuerst wird das Bild aufgeteilt
in kleinere Einheiten. Diese Einheiten werden dann mit Gedächt-
nisinhalten verglichen und schließlich wird ein symbolischer Wert
zugewiesen. Das Gedächtnis besteht hier aus einer Tabelle, in der
die Zeichen samt ihrer Zuordnung zu bestimmten Symbolen stehen.
Werden ähnliche Merkmale erkannt, dann wird ein symbolischer Wert
zugewiesen, in diesem Fall ein Schriftsymbol.
Bild lesen und korrigieren
Nach dem Einlesen des Bildes (Menüleiste "Datei"), kann man den
relevanten Teil des Bildes eingrenzen mit den Menüpunkten "links
oben", "rechts unten" (Menüleiste "Markierungen").
Störende Linien, einzelne Buchstaben oder auch zusammenhängende
Bereiche kann man mit dem Menüpunkt "löschen einer Linie"
beseitigen (Das Fadenkreuz auf den Buchstaben setzen und die
linke Mouse-Taste antippen). Rechteckige Bildschirmbereiche kann
man mit dem Menüpunkt "löschen eines Rechecks" verschwinden
lassen. (Bei gedrückter linker Mouse-Taste von links oben nach
rechts unten ein Rechteck aufziehen. Beim Loslassen der Mouse-
Taste wird das Rechteck gelöscht.) Beides unter der Menüleiste
"Markierungen".
Zeichensatz und Spelling-Tabelle
Nun kann, falls vorhanden, noch ein Zeichensatz eingetrichtert
werden (Menüleiste "Buchstaben"). Wenn kein Zeichensatz vorhanden
ist, reagiert das Programm wie ein Kleinkind. Es schreit! Aber
damit die Nachbarn nicht aus dem Bett fallen, erscheint am
Bildschirm eine Dialogbox, auf der man bis zu vier Buchstaben
eingeben kann. Das Programm verarbeitet also auch sogenannte
Ligationen - Buchstaben, die aneinanderkleben. Damit der Aufbau
eines Zeichensatzes nicht so langweilig ist, gibt es für die
Zeicheneingabe zwei Dialogboxen, die willkürlich (zufällig) aus-
gewählt werden. Und nachdem in unserer Welt große Tiere den Ton
angeben, sind die Tiere hier auch gleichzeitig der OK Button.
Die Zeichenkombination wird im Bild schwarz markiert und
erscheint, soweit möglich über der Dialogbox. In der Dialogbox
wird die Zeichenkombination ebenfalls angezeigt. Ein Icon (64 *
64 Pixel) ist dafür reserviert.
Da beim Scannen manchmal auch Punkte erzeugt werden, wo im
Original keine sind, kann man diese Zeichen übergehen, wenn sie
als im Zeichensatz fehlend moniert werden. Hierzu tippt man in
der Dialogbox "Zeichen ignorieren" und "Zeichen nicht speichern"
an.
Die Spelling-Tabelle dient dazu Übersetzungsfehler zu minimieren.
Das Programm geht bei seiner Interpretation der Zeichen von der
Annahme aus, daß ein Zeichen aus einem zusammenhängenden Pixel-
bereich besteht. Das Programm sieht bei einem i erst einmal nur
das i ohne den Punkt und dann das Tüpfelchen auf dem i. Das i
wird also erst einmal als "i." übersetzt. Um dies zu korrigieren
gibt es die Spelling-Tabelle. Wie einzelne Zeichenkombinationen
umgesetzt werden könen, kann man sich mit dem Menüpunkt Spelling
Tabelle ändern ansehen (Mit return durchblättern oder wie üblich
mit der linken Mousetaste auf Abbruch tippen, wenn man die
Dialogbox verlassen will).
Zeichenabstand
Der Menüpunkt Leerzeichen dient dazu den minimalen Pixelabstand
zwischen zwei Worten festzulegen. Wird hier kein Wert angegeben,
so wird mit dem Wert gearbeitet, der im Zeichensatz hinterlegt
ist. Der eingegebene Wert wird zusätzlich bildlich in der
Dialogbox als Leerzeichen zwischen zwei Balken dargestellt. Diese
Dialogbox kann man verlassen, indem man das schwarz umrahmte OK
mit der linken Mouse-Taste antippt. Wo ist das nicht so?
Schrifterkennung
Tippt man auf Analyse, so beeilt sich das Programm den Text zu
entziffern. In mehreren Schritten wird jeweils ein Zeichen
isoliert. Erst einmal werden die Leerzeilen markiert, dann wird
der Beginn eines Zeichens ermittelt und schließlich wird das
Zeichen in den Analysebereich übertragen und verschwindet dann
von der Bildfläche. So braucht immer nur nach dem ersten Zeichen
gesucht zu werden und das steht immer in der obersten Zeile
links.
Das Programm arbeitet nach einem leicht modifizierten pattern-
matching Verfahren. d. h. das Zeichen wird pixelweise mit einem
Zeichen aus der Zeichentabelle verglichen, wobei das Zeichen
jeweils um ein Pixel nach links, rechts, oben und unten ver-
schoben wird. Ungenauigkeiten des Scanners werden auf diese Weise
etwas ausgeglichen. Der Zeichensatz wird so möglichst klein
gehalten. Dies hat leider aber auch einen Nachteil: Wenn die
Zeichen sehr klein sind, dann verhält sich das Programm wie ein
alter Dackel ohne Brille. Es verwechselt mal den einen oder
anderen Buchstaben.
Das Programm interpretiert, wie bereits gesagt, jeden zusammen-
hängenden Bereich als Zeichen. Es kann daher auch Kursivschrift
verarbeiten.
Das Programm erkennt das als Zeile, was zwischen den Leerzeilen
steht. Die Information wird zeilenweise abgearbeitet. Fehlt diese
Leerzeile zwischen den Zeilen, so ist es am besten, wenn man den
Analysevorgang mit dem Menüpunkt "Analyse beenden" vorzeitig
verläßt. Das Programm nimmt sonst abwechselnd einen Buchstaben
aus der oberen und einen aus der unteren Zeile. Die fehlende
Leerzeile kann man mit dem Menüpunkt "Leerzeile erzeugen"
plazieren (Menüleiste Markierungen).
Auf dem Textfenster kann man den Übersetzungsvorgang verfolgen.
Jeweils drei Zeilen maximal 75 Zeichen werden hier dargestellt.
Um den Text zu verarbeiten, speichert man ihn erst einmal mit dem
Menüpunkt Textausgabe ab. Jedes Textsystem, das ASCII-Code lesen
kann, kann nun diesen Text verarbeiten. Eine Korrekturmöglichkeit
des Textes ist nicht vorgesehen, da dies Textsysteme viel besser
können. Das Programm Scrypto dient nur dazu, Texte aus Büchern,
die man als Zitate in eigene Werke einbauen will, maschinen-
gerecht aufzubereiten. Noch ein kleiner Tip: Bei kleinen
Schriften, hilft manchmal die Vergrößerung mit einem Kopiergerät.
Allerdings dürfen die Vorlagen nicht schräg aufgelegt werden, da
das Programm die Leerzeilen immer im 90° Winkel abgreift.
Wenn das Programm im Interpretermodus gestartet wird (mit der
Omikron-Basic-Version vom Herbst 91), kann man sofort nach dem
Interpretieren eines Bildes das nächste Bild laden. Das
compilierte Programm bringt hier leider Fehler. Diese Funktion
ist mit Vorsicht zu genießen.
Was tun wenn...:
... im Text ein Umlaut markiert wird, aber in der Dialogbox
nur Buchstabe (wie a, o oder u) erscheint. - Geben Sie
immer nur das ein, was Sie in der Dialogbox sehen.
... in der Dialogbox zur Eingabe der Zeichen ein Umlaut mit
nur einem Punkt erscheint. - Geben Sie den Umlaut ein.
Die Zeichenfolge "Umlaut ." wird über die Spelling-
tabelle umgesetzt in den Umlaut.
... ein Buchstabe nur zur Hälfte in der Dialogbox
erscheint. - Wenn dies regelmäßig nur bei diesem
Buchstaben geschieht, so geben Sie für die erste Hälfte
des Buchstabens das entsprechende Zeichen ein und für
die zweite Hälfte irgend ein Sonderzeichen. Nach dem
Analyse-Vorgang erweitern Sie die Spelling-Tabelle um
diesen einen Eintrag (Buchstabe Sonderzeichen immer
umsetzen in Buchstabe). Verlassen Sie nun das Programm
und laden es erneut, dann wird der Text richtig
übersetzt.
... regelmäßig ein Buchstabe verwechselt wird, so sollte
man den Zeichensatz überprüfen. Dies geht mit dem
Menüpunkt Zeichensatz ändern. Die Dialogbox, die dann
erscheint, enthält das Feld "Suche Zeichen". Hier kann
das falsch übersetzte Zeichen angegeben werden. Wird Z.
B. ein a als s übersetzt, so gibt man hier s ein. In
der Dialogbox erscheinen dann nacheinander alle
Zeichenzuordnungen für s. Erscheint in diesem Fall als
Zeichen ein a, so kann man das s in a umändern.
... man sich bei der Zeicheneingabe vertippt hat und merkt
dies sofort, so kann man den Analysevorgang abbrechen
und kann sich mit dem Menüpunkt Zeichensatz ändern, die
letzten drei Zeichen in einer Dialogbox ausgeben lassen
und ggf. ändern.
Dateien:
SCRYPTO.PRG Das Programm
Dateien mit dem Assemblermodule, die vom Programm Scrypto
Suffix .BAX angesprungen werden. Die zeitkritischen
Routinen sind alle in Assembler geschrieben.
SCRYPTO.CHR Der Zeichensatz. Der Zeichensatz kann jedoch
auch anders heißen. Er wird immer unter dem
gleichen Namen abgespeichert mit dem er
gelesen wurde. Dies gilt ananlog auch für die
Spelling-Datei und die Textdatei.
SCRYPTO.SPL Die Spelling-Datei.
SCRYPTO.TXT Die Textdatei.
SCRYPTO.IMG Eine im IMG-Format komprimierte Bilddatei.
Die Umwandlung in eine MFDB.DATEI, die dann
im Speicher steht, wird mit dem Assembler-
modul IMG.BAX erledigt. Dieses Assembler-
modul kann auch von anderen Programmen
genutzt werden. Ein Source-Code, aus dem die
Parameterversorgung ersichtlich ist, ist bei-
gefügt. Das Programm wurde mit dem sehr guten
public-domain Assembler TURBOASS erstellt.
Das Programm SCRYPTO selbst ist in OMIKRON-
Basic geschrieben. Es hat daher, wie alle
Omikron-Basic-Programme, die mit Gem-
Benutzeroberfläche arbeiten, Schwierigkeiten,
wenn GDOS oder NVDI aus dem AUTO-Ordner
geladen wird.
Der Bildtext, der momentan unter SCRYPTO.IMG
steht ist ein Zitat aus dem Buch
"Ist die Bibel richtig übersetzt"
von Pinchas Lapide.
Es können mehrere Bildtexte nacheinander
verarbeitet werden. Bei einem Wechsel des
Zeichensatzes muss man allerdings das
Programm verlassen.
Dateien mit dem In den ersten 20 Byte dieser Datei steht die
Suffix .MFDB MFDB (siehe GEM-Befehl VRO_CPYFM). Dieser
Bereich wird von dem GEM-Befehl wird
normalerweise verwendet, um bit-image Dateien
auf dem Bildschirm zu bringen oder im
im Speicher zu sichern. Die bit-image Datei
steht im Anschluß an die 20 Bytes.
Systemgrenzen:
Das Programm reserviert insgesamt 1,07 MB Speicher, braucht also
ca 1,2 MB Speicher. Das Programm SCRYPTO muß aus dem Ordner
SCRYPTO geladen werden, der sich auf Diskette oder einer be-
liebigen Festplatten-Partition befinden kann. Die IMG-Datei wird
gemäß ihrem tatsächlichen Platzbedarf im Speicher abgelegt. Die
Mfdb-Datei ebenfalls. Für die Zeichendatei werden bei Neuein-
richtung 100000 Bytes reserviert. Wird eine Zeichendatei ein-
gelesen, so werden zusätzlich zum tatsächlichen Bedarf 50000
Bytes reserviert. Die Einhaltung dieser Speichergrenze wird
allerdings vom Programm nicht überprüft. Es empfiehlt sich daher
nach der Analyse eines Dokuments den Zeichensatz zu sichern. Für
die Spelling-Datei werden bei Neueinrichtung 10000 Bytes
reserviert. Wird eine bereits vorhandene Spelling-Datei geladen
werden zusätzlich 10000 Bytes reserviert.
Danksagung:
Dieses Programm ist mein Dank an all' jene, die durch ihr
Engagement dazu beigetragen haben und noch dazu beitragen, daß
die Software für den ATARI-Computer sich in erschwinglichen
finanziellen Grenzen gehalten hat. Falls Sie auch mal einen
sozialen Tag haben, aber nicht gleich ein Programm schreiben
wollen, so können Sie z. B. für die Lebenshilfe für geistig
Behinderte spenden (Kontonummer: 5803865800 bei der Hypo-Bank
München). Falls Sie an dem Source-Code des Programms interessiert
sind, so wissen Sie ja sicher, wie das bei public-domain Software
geht. 20,- DM zuverlässig an meine Adresse und ein Brief mit
Ihrer Adresse. Dann erhalten Sie eine Diskette mit dem Source-
Code. Der Überschuß aus dieser Transaktion wird der Lebenshilfe
für geistig Behinderte gespendet. Meine Adresse:
Dieter von Spreter
Tettnanger Str. 4
W-8000 München 60