Ecken eines Viereck erkennen



  • Hi Leute,

    wie kann ich in einer Pixelmatrix die Eckpunkte eines Vierecks erkennen? Ob Punkt xy zum Viereck gehört ist abfragbar.

    Also die Koordinaten der Ecken in einem Viereck wie in diesem Beispiel:

    http://85.214.22.193/xato/img/viereck_erkennen.png

    mfg
    Xato



  • Hallo,
    bei diesem Viereck (angenommen das bild ist 200x200 groß)
    1.Ecke: jeden Pixel von links->rechts (ab 0,0) auf schwarz kontrollieren
    ->wenn true dann hast du die erste Ecke
    ->wenn false y um 1 erhöhen und von vorn beginnen
    2.Ecke: jeden Pixel von oben->unten (ab 0,0) auf schwarz kontrollieren
    ->wenn true dann hast du die zweite Ecke
    ->wenn false x um 1 erhöhen und von vorn beginnen
    3.Ecke: jeden Pixel von rechts->links (ab 200,200) auf schwarz kontrollieren
    ->wenn true dann hast du die dritte Ecke
    ->wenn false y um 1 abziehen und von vorn beginnen
    4.Ecke: jeden Pixel von unten->oben (ab 200,200) auf schwarz kontrollieren
    ->wenn true dann hast du die vierte Ecke
    ->wenn false x um 1 abziehen und von vorn beginnen

    War mein erster Gedanke.

    //edit: paar Zahlendreher
    //edit: funktioniert auch bei nicht verdrehten Vierecken



  • Ansonsten halt das Standardvorgehen: Gradientenfilter drüber, Houghtransformation, Schnittpunkte der gefundenen Geraden bestimmen.



  • @mtaesler

    Da hätt ich selbst drauf kommen können, bloß dass deine Methode nur bei Quadraten die gerade im Bild sind funzt. Wenn das 4Eck anders "gezogen" ist, siehts wieder ganz anders aus 😞

    mfg


Log in to reply