vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Grafik nach einfarbiger, heller Fläche durchsuchen 
Autor: DotNetErbse
Datum: 30.03.10 12:47

Guten Tag.

gubt es eine Möglichkeit für... (siehe o.T)

Hintergrund ist die selbständige Positionierung eines "Stempels" in einen Dokumentenscan.
Da nicht sicher ist, dass auf festgelegter Position ein "freier" Platz zu finden ist,
möchte ich nach einem "freien" Platz suchen lassen...

Ich könnte ja den Scan in ein Bit-Array einlesen und dann immer "kreisförmig" von jedem Pixel ausgehend im Umkreis suchen, ob die Umgebung in einem Radius r "sicher" ist. Ich kann mir aber vorstellen, dass das zu lange dauert...

Oder könnte ich den scan im SW/negativ-Modus in eine Matrix laden und dann eine andere matrix (Stempelgröße) "und" verknüpfen? Wenn das Ergebnis der Verknüfungspixel dann einen Schwellwert nicht übersteigt (im günstigsten fall "0") dann hätte ich wohl einen (relativ) freien Bereich gefunden...

Gibt es da vielleicht eine fertige Matrix-Funktion für sowas??

???

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Grafik nach einfarbiger, heller Fläche durchsuchen 
Autor: Manfred X
Datum: 30.03.10 14:09

Hallo!

Wenn Du die Pixelinformationen deines Scan geordnet in ein
ByteArray eintragen kannst, ist die Suche schnell erledigt.
Du solltest aber nicht pixelbezogen nach der Fläche suchen.

Vorschlag:
Du gehst einfach zeilenweise vor und prüfst, ob die
aktuelle Zeile einen hinreichend langen und
"hinreichend ähnlichfarbigen" (=streuungsarmen)
Abschnitt bietet.
Ist dies der Fall, prüfst Du, ob dieser Abschnitt auch
in den folgenden Zeilen ähnlichfarbig ist.

Jetzt mußt Du nur noch entscheiden, was Du tust, wenn sich
nach dieser Methode keine geeignete Fläche finden läßt.

Vielleicht ist auch dieser Link nützlich:
http://www.vbarchiv.net/workshop/workshop_100-direkte-manipulation-von-bilddaten-vb-2005.html
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Grafik nach einfarbiger, heller Fläche durchsuchen 
Autor: DotNetErbse
Datum: 30.03.10 15:35

dankeschön, das mit der Zeilenweisen Überprüfung klingt natürlich vernünftig.
Um "hinreichend" zu gewährleisten, wollte ich ja ein SW-Bild draus machen, mit Schwellwert. Der zu positionierende Stempel ist nicht sehr groß (Buchungsstempel mit Datums- und User-Information).

Es genügt ja wirklich ein "hinreichend". Es sollen nur eben keine dunklen und schraffierten/gemusterten Flächen sein. Mal ne Linie oder so wäre ok.

Wenn keine Fläche gefunden wird, gibt es eine Standard-Position und es muss eben der User ran und den Stempel verschieben.

Danke nochmal.

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Grafik nach einfarbiger, heller Fläche durchsuchen 
Autor: Manfred X
Datum: 30.03.10 15:54

Hallo!

Wenn Du die Scan-Pixel als Bytearray vorliegen hast,
kannst Du einfach mit einer Schleife diejenigen
pixelbezogenen Bytegruppen (meist 3 oder 4),
deren Farbbytes alle nahe genug an "weiss"
=255 liegen, pauschel auf 255 setzen und dann
in einer Zeilenschleife nach dem "weissen Fleck"
suchen. (Ich empfehle als Schwellenwert etwa 200 -
ausprobieren!)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Grafik nach einfarbiger, heller Fläche durchsuchen 
Autor: DotNetErbse
Datum: 31.03.10 08:44

cool, danke

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel