AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Dokument Scanner
Thema durchsuchen
Ansicht
Themen-Optionen

Dokument Scanner

Ein Thema von Dr.MAD · begonnen am 2. Apr 2010 · letzter Beitrag vom 5. Apr 2010
 
Dr.MAD

Registriert seit: 16. Jan 2006
18 Beiträge
 
#1

Dokument Scanner

  Alt 2. Apr 2010, 17:36
Hallo Delphi-Programmierer!



Der Dokument Scanner ist dafür geeignet unterschiedliche Dokument- bzw. Papierformate zu erkennen, zu beschneiden und abzuspeichern.

Das komplette Abbild wird ohne weitere "Scanner-Dialogabfrage" vom Scanner in ein TBitmap32 als Original übernommen.

Danach wird das Bild mit Helligkeit, Kontrast, u.a. in ein zweites TBitmap32 geflitert. In dem gefilterten Bild wird anschließend ein horizontaler und vertikaler Linienvergleich durchgeführt um den Rand des Dokumentes bzw. die Koordinaten zu lokalisieren.

Abschließend werden nun diese "Beschneidekoordinaten" dazu benutzt um das Dokument aus dem original TBitmap32 auszuschneiden. Die Filterung des Bildes wird somit nur zur Koordinatenermittlung benutzt.

Im Anhang findet Ihr eine gepackte Datei mit dem Design- und Sourcedode. Vorraussetzung ist GR32 und DelphiTwain.
Eine fertig ausführbare Datei zum Schnell-Test ist auch angehängt.

Hier schon mal die Unit im Klartext:
Luckie: Quellcode entfernt. Über 1200 zeilen müssen im Beitrag nicht sein.

Bedienungsanleitung:

Auf der linken Seite findet Ihr die Einstellungen für den Scanner. Damit kann man das Original-Bild bereits vom Scanner ordentlich erfassen. Jeder Scanner ist in der Ablichtung verschieden. Zu diesen Einstellungen gehören Helligkeit, Kontrast, Schwarz-Weiß-Schwelle (ab wann ein Pixel bei einer Kontrasterhöhung mehr zu dunkel oder zu hell gehört und somit tendenziell verstärkt wird), Auflösung (Resolution), Skalierung (Zoom) und Farbtyp. Wie bereits beschrieben dienen diese Einstellungen nur der Aufbereitung des Original-Bildes die schon vor dem scannen getroffen werden.

Ist das Abbild nun im Rechner kann es durch die Bildbearbeitung (Filterung), zu finden in der oberen mitte der Anwendung, zum Aufspühren der Kontur des Dokumentes aufbereitet werden. Meiner Erfahrung nach genügt es bereits die Helligkeit auf -10% herunter- und den Kontrast auf +30% heraufzuschieben. Es ist egal wie unschön dieses Bild jetzt erscheint es dient allein dazu um Ränder eines Blattes zu finden.

In den Controls darunter "Dokument-Erkennung" kann man einen Pixel-Einzug einstellen, ab wann der PC das Bild nach Rändern durchsuchen soll. Dies dient insbesondere dazu den Fehlerbereich am linken und rechten Rand des Bildes zu überspringen, da genau an diesen Stellen das erzeugte Licht des Scanners dunkler ist als zur Mitte hin. Die Fix-Checkboxes bedeuten, dass ab dem eingestellten Pixel-Punkt die Randerkennung fixiert bleibt. Dies dient dazu, wenn das Blatt immer mit der Kante am oberen Rand des Scanners liegt braucht genau dieser Rand nicht mehr erkannt werden.
Bsp-Einstellung: 20 Pixel links und rechts und oben auf 0 Pixel fixiert.
Die Randtoleranz bedeutet die Abweichung einer Linie in Prozent, wann ein Rand als Rand bestimmt wird.

Beschneiden und speichern sind selbsterklärend .

Das Vorschaufenster rechter Hand kann mit dem Maus-Wheel vergrößert und verkleinert werden. Dazu genügt ein Klick darauf damit das Control seinen Fokus erhält. Die Zoom-Richtung wird durch den Maus-Cursor bestimmt!

Viel Spaß beim Scannen .

Gruß

Dr. MAD

[edit=fkerber]Leerzeichen eingefügt, um Layout zu "retten". Mfg, fkerber[/edit]
[edit=Luckie]Quellcode entfernt. Mfg, Luckie[/edit]
Matthias
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz