Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Rechteck finden in Bild (https://www.delphipraxis.net/98416-rechteck-finden-bild.html)

marabu 27. Aug 2007 11:14

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;

matashen 27. Aug 2007 11:18

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

marabu 27. Aug 2007 11:33

Re: Rechteck finden in Bild
 
Als erstes suchst du die Kanten, nicht die Ecken.

Delphi-Quellcode:
type
  TVertEdge = record
    Top: TPoint;
    Bottom: TPoint;
  end;

  THorzEdge = record
    Left: TPoint;
    Right: TPoint;
  end;
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.

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.

matashen 27. Aug 2007 11:46

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.
Seite 2 von 2     12   

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