Selbstbau eines Computer-Scanners, Erfahrungsbericht Einfhrung Das Wort "Scanner" kommt aus dem Englischen. "To scan" bedeutet abtasten oder auch berfliegen. Der Hobby Computer-Anwender versteht darunter ein Ger„t, das Bild-Vorlagen in (s)einen Compu- ter einliest. Im Gegensatz zu den schnellen Video-Digitisern wird beim Scanner eine lichtempfndliche Photozelle in kleinen Abst„nden ber eine Vorlage gefhrt. Fr jeden Abtast-Schritt werden dem Computer Helligkeitsdaten bermittelt. So wird die Vorlage Zeile um Zeile eingelesen. Ausgehend davon kam ich - wie sicherlich andere schon vor mir - auf den Gedanken daž die Photozelle von meinen Drucker fortbewegt werden k”nnte. Dazu gengt es, die Photozelle in ein altes Farbbandgeh„use einzubauen. Mit einer kleinen Sequenz von Steuerzeichen lassen sich die meisten Drucker zum Scannen zweckentfremden. Nach einigen hundert horizontal-Schritten folgt ein Wagenrcklauf um die n„chste Zeile zu lesen. Die Vorlagen mssen sich hierbei alle in den Drucker einspannen lassen. Wer einen Flachbettplotter sein eigen nennt, kann z.B. auch Plattenhllen bequem abtasten. Ein Plotter macht aužerdem keine Anstalten bei der Ansteuerung. Einige Drucker zeigen, dank modernster Wegeoptimierung, ein grožes Maž an Starrsinn. Manche Ger„te versalzen selbst einem trickreichen Programmierer die Suppe indem sie stets einen Wagenrcklauf abwarten und dann emsig aber viel zu schnell ber die Vorlage flitzen. Folgendes wird also zum Scannen ben”tigt: 1. Einen (einfachen)Drucker oder ein Plotter 2. Eine Photozelle mit logarithmischem A/D-Wandler 3. Scannersoftware mit USM-Algorithmen zum verdoppeln der Bildsch„rfe 4. Scannenswerte Vorlagen Die Sache sieht also nicht besonderst schwierig aus, zumal meine komfortable Scannersoftware als Public Domain erh„ltlich ist. Nur DM 25,- habe ich fr meine Elektronik berappt. Nach 4- stndiger Nachtarbeit funktionierte der A/D-Wandler perfekt. Aber dann gab es doch Schwierigkeiten: Die ersten eingescannten Bilder wikten unscharf und "verrauscht". Erst nach und nach gelang, haupts„chlich durch verbesserte Soft- ware, ein Scanner mit erstaunlicher Bildqualit„t. Die Hardware war, abgesehen von einem kleinen Wachelkontakt, nicht weiter zu verbessern. Die umgewandelten Helligkeitswerte entsprechen, wegen der logarithmischen Kennlinie vom A/D-Wandler, dem tats„chlichen Graueindruck. Die Vorlagen werden aužerdem nicht, wie bei vielen Billigscannern, mit Infrarotlicht abgetas- tet, sondern mit sichtbarem Licht. Meine Scannersoftware bietet also einige Leckerbissen: Das abgetastete Originalbild kann vergr”žert, verkleinert und gestaucht werden. Auch Helligkeit, Kontrast und Gradation sind nachtr„glich zu ver„ndern. So kann man z.B. die dunklen Bildbe- reiche ver„ndern, ohne daž sich die hellen und mittelgrauen T”ne ver„ndern. Die Grauabstufungen sind auf dem s/w Monitor nur durch Fllmuster darstellbar. Diese Muster sind besonderst fein um ein m”glichst realistisches Bild zu erzeugen. Ich habe auch darauf geachtet, daž keine "Kanten-Effekte" zwischen verschiedenen Mustern auftre- ten. Die USM-Funktionen (USM=Unscharf-Maskierung) betonen feine Bild- details, die beim Abtasten teilweise verloren gingen. Aužerdem wird die "Treppchenbildung" vermieden. Diese Funktion kann tat- s„chlich den Sch„rfeeindruck verdoppeln. Das ist etwas, das andere Scannersoftware nicht bieten kann. Das so aufbereitete Bild l„sst sich im Degas- oder Bin„rformat auf Diskette abspeichern. Die Bilder k”nnen so mit einem Malpro- gramm noch weiter versch”nert werden. Mit einer geplanten Version 2.0 kann man in die Farbaufl”sung umwandeln und die Bilder sogar einf„rben. Hardware Die Hardware besteht im wesentlichen aus einem Phototransistor, dem logarithmischen Verst„rker und dem 4-Bit A/D-Wandler. Die Hardware wird mit dem Joystick-Port verbunden. Die Elektronik wird ber diesen Stecker auch mit 5 Volt versorgt. Man bekommt einen solchen Joystick-Stecker im Elektronik-Laden (9-polige D- Buchse). Man muž nur den Metallrahmen entfernen. Zur Not hilft auch das Kabel eines alten Joysticks. Ich m”chte nun ganz kurz die Funktionsweise meiner Schaltung erkl„ren: Der Phototransistor T3 (BPY 14) liefert einen zur Lichtst„rke proportionalen Ausgangsstrom. T1 logarithmiert diesen Strom und wandelt ihn in eine Gleichspannung (maximal 0,7 Volt) um. Widerstand R2 und C1 filtern Brummspannungen aus. Der nun folgende OP verst„rkt diese Spannung. Hier sind die Regler fr Abtasthelligkeit (P2) und Kontrast (P1) angebracht. Transistor T2 steuert eine Leuchtdiode an. Diese LED leuchtet in Abh„ngigkeit von der "gesehenen" Helligkeit auf. Alle brigen ICs dienen zur A/D-Wandlung. Der Eingang befindet sich an IC 1 Pin 6. Beim Aufbau sollte man darauf achten, daž C4, R11 und R10 nicht zu weit weg von IC2 plaziert werden. Man sollte die Digital-Masse (breites Symbol) und Analog-Masse (schmales Symbol) getrennt verdrahten und erst an C6 miteinan- der verbinden. Die gesamte Elektronik wurde auf einer Lochraster-Platine von 30mm * 80mm aufgebaut. Man tut sich bei der doppelten Platinen- fl„che allerdings weniger schwer. IC-Fassungen fr IC2, IC3 und IC4 sind kein Luxus, denn die CMOS- ICs sollten erst zum Schluž eingesetzt werden um deren Zerst”rung durch statische Elekrtri- zit„t zu vermeiden. Ist die Platine fertig bestckt, wird der Phototransistor ber ein l„ngeres abgeschirmtes Kabel angeschlossen. Die Transistor- basis ist nicht belegt. Dieses Anschlužbeinchen wird gekrzt. Der Phototransistor hat eine Linse. Der ™ffnungswinkel betr„gt nur 20ø. Daher wird schr„g einfallendes Licht nicht gesehen. Wegen der Bildsch„rfe muž man diesen Blickwinkel noch weiter einengen. Normalerweise wird mit einem Pixelabstand von ca. 1mm gescannt. Dazu baut man den Phototransistor z.B. in eine Kugelschreiber- Hlse oder „hnliches ein. Das ”ffnungsloch an der Spitze sollte zwischen 0.5 und 1mm grož sein. Der Phototransistor hat dabei einen Mindestabstand von ca. 10mm zur ™ffnung. Gruns„tzlich gilt daž kleine Vorlagen auch kleine ™ffnungen ben”tigen. Ist die ™ffnung aber zu klein verschwinden u.U wichtige Bilddetails in den Abtastzwischenr„umen. U.U. ist dann der Phototransistor BPW 13 (=BPW 14 ohne Linse) besser geeignet. Alternativ kann der Phototransistor auch in eine ausgediente Farbbandkassette eingepažt werden. Man bohrt an geeigneter Stelle ein kleines Loch mit oben erw„hnten Durchmesser in die Kassette. Die Abtast”ffnung muž einerseits m”glichst nahe an der Vorlage angebracht sein, andererseits darf sie nicht das Abtastlicht unterbrechen. Kunststoffe sind meinstens etwas lichtdurchl„ssig. Deshalb sollte man das Ganze mit schwarzem Isolierband umwickeln bzw. schwarz lackieren. Wenn man das ™ffnungsloch verschliežt, darf die Schaltung nicht mehr auf das Auženlicht reagieren. Wenn der Phototransistor nicht gengend gegen Fremdlicht abge- schirmt wird, erh„lt man unscharfe Bilder. Man sollte also die oben erw„hnten Tips beachten. Die Software Die Software wurde in GFA-Basic erstellt. Das Scanner-Programm ist Public Domain - also fr jeden zug„nglich. Wie bereits erw„hnt, wird die Scanner-Hardware am Joystick-Port betrieben. Mein Scannerprogramm fragt diesen Port mit einem ganz ordin„ren "Peek"-Befehl ab. Das mag zwar die GEM-Spezialisten etwas schockieren, aber das gibt uns die M”glichkeit auch andere Hardware durch Žndern dieser Peek-Adresse an anderen Ports einzusetzen. Zum Scannen muž man einen Druckertreiber laden und diesen der Bildvorlage entsprechend modifizieren. Konkret sind wohl stets die Schrittzahl horizontal und vertikal an die jeweiligen Vorla- gen anzupassen. Die Schrittweite (Pixelabst„nde) sollte ebenfalls auf die Vorlagengr”že eingestellt werden. Wenn alle brigen Vorbereitungen getroffen sind, kann die Ab- tastung gestartet werden. Auf dem Bildschirm sieht man Zeile um Zeile ein unscharfes "Urbild" entstehen. Der Abtastvorgang kann, falls erforderlich, jederzeit mit der ESC-Taste gestoppt werden. Wenn der Abtastvorgang beendet ist, wird das Urbild abgespei- chert. Hat man das getan, kommt die Aufbereitung. Man ver„ndert jetzt Helligkeit, Kontrast, Bildsch„rfe und zoomt bzw. entzerrt das Bild. Danach speichert man das aufbereitete Bild als Neochrome- (erst ab Version 2.0) oder Degas-File ab. Die Malprogramme Degas (und Neochrome) helfen das Bild weiter zu verbessern. Auch Fotomontagen sind m”glich. Die Bedienung des Scannerprogramms erkl„rt sich praktisch von selbst. Einige Punkte muž ich jedoch noch erw„hnen: 1. Alle Funktionen und Menpunkte sind Mausgesteuert. Zus„tz- lich kann die rechte Maustaste einige Menpunkte direkt auf dem Bildschirm ausw„hlen (z.B. aus dem Druckertreiber). 2. Eingaben mssen mit der -Taste beendet werden. 3. Zusammen mit dem Druckertreiber speichert bzw. l„dt man auch alle Bildkorrekturdaten. 4. Der eigentliche Druckertreiber (im Men ganz oben) schickt folgende vier unterschiedliche Zeichenketten an den Drucker: - Zuerst wird der Drucker initialisiert. Dies geschieht einmalig vor der Abtastung und stellt Geschwindigkeit, Vorschbe oder „hnliches ein. Diese Zeichenkette wird unter dem Menpunkt "Initialisieren" eingegeben. - W„hrend der Abtastung wird fr jeden horizontalen Vorschub die 2. Zeichenkette ("Hor. Vorschub") ausgegeben. - Fr jede neue Zeile muž ein Wagenrcklauf und ein Zeilenvorschub erfolgen. Das erledigt die dritte Zeichenkette. ("Vert. Vorschub") - Die vierte Zeichenkette soll den Drucker wieder in den normalen Betriebszustand zurckstellen. Sie wird unter "Abschluž" eingegeben. Um "Bildst”rungen" bzw. Unsch„rfe zu verhindern sind zwei einstellbare Verz”gerungszeiten (Abtastung horizontal und ver- tikal) vorhanden. Der Treiber wird wie folgt editiert: <'> Dient nur zur optischen Trennung einzelner Zeichen. Die Zei- chenketten werden dadurch etwas bersichtlicher. Dieses Zeichen wird sp„ter bergangen. <&> weist das Programm an, die n„chsten zwei Zeichen als einen hexadezimalen ASCII Code zu betrachten. Beispiel: Eingabestring "T'ex&74'&0D" wird zum Ausgabestring "Text"+. Scanner - Praxis 1. Ausleuchten der Vorlage Der verwendete Phototransistor BPY 14 reagiert auf sichtbares Licht. Eine gew”hnliche Tischlampe sorgt fr ausreichende Belich- tung der Vorlage. Der Phototransistor selbst hat n„hmlich keine eingebaute Lichtquelle. Beim Ausleuchten ist unbedingt folgendes zu beachten: - Die Vorlage muž gleichm„žig ausgeleuchtet werden. Die Aus- leuchtung wird durch Abtasten eines weižen Blatt Papiers kontrolliert. Hierbei stellt man in Blattmitte mit dem Abtast- Helligkeitsregler an der kleinen Elektronik etwa 8 Helligkeits- punkte ein und f„hrt anschliežend an die Papierr„nder. Die Helligkeitswerte drfen sich nur unwesentlicht ver„ndern. - Fremdlicht muž man abschirmen. Ein nahes Fenster beleuchtet mit. Wenn nun pl”tzlich Wolken aufziehen kommt es zu einem horizontalen Schattenstreifen. - Reflexionswinkel unbedingt vermeiden. Die oftmals gl„nzenden Vorlagen reflektieren wie ein Spiegel. Schlimmstenfalls sieht unser Scanner dann nur noch eine Glhbirne bzw. Neonr”hre. Beim Flachbettplotter hat es sich bew„hrt, die Photozelle um 45øzu neigen. Dadurch wirft sich die Photozelle selbst keinen Schatten. Die Belichtungslampe hat einen Abstand von ca. 80 cm und steht senkrecht ber der Vorlage. Beim Drucker gibt es weniger Reflexionsprobleme, denn auf der gew”lbten Vorlage konzentriert sich die Reflexion auf einer Linie. Die Lichtquelle (senkrecht ber der Walze) darf wesent- lich n„her ber der eingespannten Vorlage sein. 30 cm Abstand gengen zur gleichm„žigen Ausleuchtung. 2. Einstellen von Abtast Helligkeit und Kontrast Wie bereits in der Schaltungsbeschreibung erw„hnt, bietet die Elektronik bereits eine M”glichkeit die Abtasthelligkeit und den Abtastkontrast zu verstellen. Diese Einstellregler mssen immer der jeweiligen Vorlage angepažt werden. Helligkeit und Kontrast verhalten sich genau so, wie man es von einem Fernsehger„t her kennt: Zu wenig Kontrast l„sst das Bild grau in grau erscheinen (hellgrau war weiž, dunkelgrau war schwarz). Bei zu viel Kontrast wirkt das Bild "hart". Es fehlen die Mittelt”ne (dunkelgrau wird zu schwarz und hellgrau wird zu weiž). Der Helligkeitsregler hebt oder senkt die Helligkeit aller Bildinhalte gleichm„žig. Zum Angleich der Regler an die Vorlage geht man zun„chst von der Mittelstellung aus. Danach muž zuerst die Helligkeit (P2) und dann der Kontast (P1) eingestellt werden. Man wiederholt die Einstellung von Helligkeit und Kontrast mehrmals, bis fr die hellste Bildpartie (weiž) die Zahl 14 und fr die dunkelste die Zahl 1 angezeigt werden. Die Helligkeitszahl wird rechts unten im Druckermen st„ndig angezeigt. Hierbei bedeutet die Zahl 0 das dunkelste schwarz und die Zahl 15 das hellste weiž. Es ist also auch m”glich, den vollen Zahlenbereich auszusch”pfen indem man die Regler auf 0 bzw. 15 einstellt. Dabei ist es jedoch nicht immer einfach die Einstellung zu kontrollieren, da ein weiterdrehen der Regler kein Žnderung (kleiner als Null oder gr”žer als 15) bewirkt. Beim abgleichen von Helligkeit und Kontrast kommt es darauf an, daž die Photozelle auch tats„chlich auf einen sehr hellen bzw. dunklen Bildpunkt gerichtet ist. Hat man diese beiden Stellen im Bild ausfindig gemacht, wird w„hrend des Abgleichs immer zwischen diesen beiden Stellen hin und her gefahren und dabei wird mit den Reglern auf 14 (wenn hell) und 1 (wenn dunkel) abgestimmt. Erfahrungsgem„ž ist der Kontrastabgleich unkritischer als der Helligkeitsabgleich. Eine Abweichung von ñ 1 Helligkeitszahl ist nicht so schlimm, denn das fertig abgetastete Bild l„sst sich in Helligkeit und Kontrast nachtr„glich ver„ndern. Der Menpunkt hierfr heižt "Umfang". 3. Einstellen der Bildformate (Druckertreiber) Vor der Abtastung muž man sich ber die gewnschte Bildgr”že auf dem Bildschirm im klaren sein. Zwar bietet meine Software auch eine M”glichkeit das Bildformat nachtr„glich zu ver„ndern bzw. zu verzerren. Aber die besten Ergebnisse bekommt man, wenn man das Bild etwa in der Original- gr”že bel„sst. Also zckt man besser vorher den Taschenrechner: Sicher weiž jeder daž die monochrome Aufl”sung 640 x 400 Pixel betr„gt. Grunds„tzlich sollte man fr etwa vier Monitorpixel einen Abtastschritt vorsehen. Soll z.B. das Monitorbild voll- st„ndig "gefllt" werden, w„ren das etwa 320 Abtastpunkte horizontal und 200 Punkte vertikal. (Zwei horizontale- mal zwei vertikale Bildpixel kommen auf ein Urpixel). Fr den Preis eines unscharfen Bildes verkrzt sich die Abtastzeit wenn man ber dieses Verh„ltnis hinausgeht. Ein erh”hen der Abtaspixelzahl brint hingegen keine nennenswerte Verbesserung der Bildqualit„t mehr. Die USM-Routinen in meinem Programm sind bei einem Ur- pixel/Bildpixel Verh„ltnis von 1:4 optimal. USM bringt augen- scheinlich die volle Sch„rfe wieder zurck. An dem folgenden Beispiel m”chte ich erkl„ren, wie der Druckertreiber eingestellt werden muž: - Ein Bild von der Gr”že 100 * 100mm soll auf 150 * 150 Bildschirm-Pixel gescannt werden. - Dazu mssen 75 * 75 Abtast-Pixel (=Urpixel) eingescannt werden. - Die Schrittweite horizontal betr„gt 100mm ö 75 = 1.33 mm - Die Schrittweite vertilal betr„gt ebenfalls 1.33 mm - Der Druckertreiber wird entsprechend der obigen Vorgabe eingestellt. Horizontal- und Vertikalvorschub lassen sich auf 1.4 mm einstellen. Das ist nahe genug am Wunschwert 1.33 mm. Das abgetastete Bild f„llt also etwas kleiner als gewnscht aus. Mit der Option "Zomm" kann das Wunschformat sp„ter genau erreicht werden. - Da das Urpixel etwas gr”žer geraten ist, ben”tigt man auch weniger Abtast-Schritte: 100 mm ö 1.4 mm ÷ 71 Schritte - Die Schrittzahlen sind unter Schrittzahl horizontal bzw. vertikal einzugeben. - Die Abtast”ffnung der Photozelle w„hlt man etwas kleiner als die Schrittweite. (Hier also ca. 1mm Durchmesser). - Die Steuercodes fr den Druckertreiber werden fr die Abtast- schrittweite 1,4 mm editiert. Diese Zeichenkette passt den Drucker- (bzw. Plotter) Typ an. 4. Aufbereiten und versch”nern des Urbildes Die Abtast-Bilder (Urbilder) k”nnen auf Diskette gesichert werden. Vieleicht befinden sich schon einige auf Ihrer PD- Diskette. Diese lassen sich betrachten, indem man sie mit "Lade Urbild" l„dt und mit "Zeige Urbild" darstellt. Das Urbild ist noch unscharf und die Gradation, Helligkeit und Kontrast entsprechen noch dem Urzustand. Jedes Urbild kann aber mit den folgenden Optionen verbessert werden: - USM breit: Normalerweise sind Eigaben von ca. 5 praxisgerecht. Gibt man 0 ein, bleibt die Sch„rfe auf Urbildniveau. "USM breit" arbeitet auf Urpixel-Ebene und verst„rkt dnne Linien und kleine Punkte. Es funktioniert nur, wenn die Abtast”ffnung der Photo- zelle stimmt. (Sie muž etwas kleiner als die Abtastschrittweite sein). - USM schmal: Auf Werte um die Zahl 5 stellen. "USM schmal" arbeitet auf Bildschirmpixel-Ebene (also ¬ Urpixel) und verhin- dert u.A. die "Treppchen-Effekte" an diagonal verlaufenden Kanten. Auch hier muž die Breite der Abtast”ffnung stimmen. - Umfang: Funktioniert analog zu Helligkeit und Kontrast mit dem Vorteil, daž sich die beiden Einstellungen nicht beeinflussen. Licht wirkt nicht auf dunkle Bildinhalte und umgekehrt. Wenn Abtastkontrast und -Helligkeit gestimmt haben, gibt man hier die Zahl 0 ein, ansonsten zwischen ñ5. - Gradation: Žhnlich wie Umfang. Diese Einstellungen wirken aber nur auf ganz bestimmte Helligkeitsbereiche. Normalerweise stellt man 0 ein. Falls erforderlich gibt man Werte bis ñ5 ein. Positive Zahlen erh”hen stets die Helligkeit und umgekehrt. Die Gradation ver„ndert hellere, mittelhelle und dunkle Graut”ne unabh„ngig. Ich wnsche noch viel Spaž beim Basteln. Und hoffe, daž mein kleines Programm Verwendung finden kann. Ein Listing des Source-Codes kann man bei mir anfordern (ca. DM 20,--). Ralf Bager Friedensstr. 10 b 6082 M”rfelden-Walldorf PS: Es gibt bekanntlich verschiedene TOS-Versionen. Deshalb ist es z.B. beim neuen Blitter-TOS oder beim uralten Disketten-TOS erforderlich, die "Joystick Peek Adresse" zu „ndern. Sonst tappt dein Scannner im Dunkeln. Man kann diese Funktion mit einem normalen Joystick berprfen.