Thema: Delphi Rechteck finden in Bild

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: Rechteck finden in Bild

  Alt 27. Aug 2007, 12:33
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.
  Mit Zitat antworten Zitat