![]() |
Re: Rechteck finden in Bild
Deine Code-Vervollständigung zeigt dir die benötigten Parameter:
Delphi-Quellcode:
var
r: TRect; p: TPoint; begin if PtInRect(r, p) then ... end; |
Re: Rechteck finden in Bild
Noch ne Frage,
Sorry Marabu, aber möchte erst alles Verstanden haben bevor ich losleg und noch grundlegende Fehler mache. Du hast erwähnt ich soll die Ecken suchen und bei variabler Kantendicke entsteht mehr Zeitaufwand. Wie meinst du das und wenn ich schon die Ecken erkenne wäre es dann nicht sinnvoller vier Arrays zu machen, da ich ja dann schon sagen kann ob die Ecke links/rechts/oben/unten ist. Gruß Matthias |
Re: Rechteck finden in Bild
Als erstes suchst du die Kanten, nicht die Ecken.
Delphi-Quellcode:
Implementiere zuerst den trivialen Fall (Kantendicke = 1 Pixel). Wenn du die Kanten hast, dann kannst du Rechtecke zusammenstellen. Es wird genau vier Kanten geben, zwei vertikale und zwei horizontale, welche gemeinsame Punkte (die Ecken) aufweisen.
type
TVertEdge = record Top: TPoint; Bottom: TPoint; end; THorzEdge = record Left: TPoint; Right: TPoint; end; Dickere Kanten sind eine relativ einfache Erweiterung. Es läuft darauf hinaus, dass Kanten länger als breit sein müssen und dass du Rechtecke findest, welche ineinander verschachtelt sind. Es werden nur die jeweils äußeren Rechtecke weiter betrachtet, die inneren sind Artefakte des Algorithmus. |
Re: Rechteck finden in Bild
Danke Marabu,
jetzt hab ichs kapiert, ich werd mal das ganze schreiben und denke das ichs hinbekomme. Scanline hab ich mir auch angesehen. Vielen Dank für die ausführliche Hilfestellung Gruß Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 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