AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Krümmung einer Linie

Ein Thema von Medium · begonnen am 6. Aug 2009 · letzter Beitrag vom 6. Aug 2009
 
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#1

Krümmung einer Linie

  Alt 6. Aug 2009, 01:30
Aloah!

Ich zermürbe mir gerade die Birne. Ich habe hier Listen von zusammenhängenden Punkten (Integer-Koordinaten), die jeweils eine wie-auch-immer geformte Linie bilden. (Sie sind das Ergebnis einer Kantenerkennung.)

Nun muss ich diese Linien auf "interessante" Punkte reduzieren, wobei interessant hier heisst, dass ein bedeutsamer Richtungswechel passiert. Dabei bereitet mir u.a. Probleme, dass bei den int-Koords von einem Pixel zum nächsten ja schon nur noch 45°-Schritte passieren, also muss ich die Tangenten schon mal über die Punkte um einen Probanden herum approximieren. So weit so schlecht!

Eine Richtungsänderung muss nicht zwangweise abrupt von statten gehen, sondern es können auch mehr oder weniger lang gezogene Kurven auftauchen, so dass ich nicht einfach die geschätzten Tangenten benachbarter Punkte vergleichen kann. Diese sind in solchen fällen nämlich immer sehr ähnlich, auch wenn das gesamte Gebilde gerade dabei ist eine 90° Kurve zu machen.

Wenn ich aber nun vom Punkt 0 die Tangente schätze, und dann immer mit dem Winkel der Geraden zwischen Punkt 0 und dem aktuellen vergleiche, gehen mir zum Teil kleinere Unebenheiten flöten, z.B. ein kleiner dreieckiger Ausreisser in einer längeren Kurve. Das verschlimmert sich zudem mit zunehmendem Abstand von Punkt 0.

Ich komme also mit der lokalen Krümmung nicht weiter, da diese eben klein sein kann, dafür aber über lange Strecken. Sowas muss ich auch unterteilen. Ich kann auch nicht von der Gesamtkrümmung ab Anfang arbeiten, weil mir dann lokale (aber wichtige) Details durch gehen.

Ich suche daher also nach einem Verfahren, dass mir Punkte liefert, die die gegebene Punktliste quasi ausreichend Annähert. Wären diese Listen Splines, ließe sich da mit Optimierungsverfahren was machen, aber es sind halt einfache diskrete Listen. (Und nein, diese vorher in Splines zu verwandeln ist kein weg. Zumal es durchaus eine ähnliche Problematik ergäbe.)

Help?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz