AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Rand in einem Bild erkennen
Thema durchsuchen
Ansicht
Themen-Optionen

Rand in einem Bild erkennen

Ein Thema von franktron · begonnen am 19. Sep 2005 · letzter Beitrag vom 21. Sep 2005
 
lizardking

Registriert seit: 2. Sep 2005
76 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Rand in einem Bild erkennen

  Alt 20. Sep 2005, 18:42
Zitat von franktron:
ich häng morgen mal ein Screenshot an es ist eine Rechnung also eine A4 Seite aber der Scanner scannt etwas mehr
Hab letztens mal 'ne Zeilenerkennung fuer Dokumente programmiert, eigentlich ein aehnliches Problem und nicht besonders kompliziert zu loesen :

Bild z.B. zeilenweise von unten nach oben durchgehen. Dabei aus einer Zeile einen Pixel (nicht gerade vom Rand) als "Referenzpixel" nehmen und ueberpruefen, ob alle Pixel in einem bestimmten Bereich mehr oder weniger dem gleichen Farbwert entsprechen. Beispielsweise bei einem 640 Pixel breiten Bild die Pixel zwischen 100 und 500 darauf pruefen (gerade an den Raendern koennen schonmal groessere Farbunterschiede bei Scans auftauchen).
Beim Vergleich die Pixel in die einzelnen RGB-Werte zerlegen und einen gewissen Threshold tolerieren. Also z.B. die einzelnen RGB-Werte duerfen sich nicht mehr als 10 vom "Referenzpixel" unterscheiden (muss man dann ausprobieren, wie hoch dieser Threshold guenstig gewaehlt wird).
Ist der "Referenzpixel" *hust* "irgendwie grau" und die anderen Pixel weichen nicht viel davon ab, dann ist's 'ne graue Zeile und kann abgeschnitten werden.
Sobald man keine graue Zeile mehr findet, scheint wohl das Dokument anzufangen.

Selbiges Verfahren laesst sich entsprechend anwenden, wenn die Raender Oben, Links oder Rechts zu suchen sind. Wie erwaehnt, bei meiner Zeilenerkennung funktionierte das einwandfrei, auch bei gescannten Dokumenten. Wenn zu wenig abgeschnitten wird : Threshold erhoehen, ggf. Zeilenausschnitt fuer die Ueberpruefung der Pixel verkleinern. Wird zu viel abgeschnitten : Vice versa ;-)

Gruss, Lizzy

P.S.: Sourcecode find ich leider momentan nicht :( Aber ich denke mal wenigstens der Ansatzpunkt duerfte hoffentlich einigermassen klar sein... oder ?
  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:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz