Die parametrische Grenze eines Objekts kann in Matlab mithilfe der Funktion bwtraceboundary extrahiert werden. Sie gibt eine Q-mal-2-Matrix B zurück, wobei Q die Anzahl der Grenzpixel für das Objekt ist und die erste und die zweite Spalte die Zeilen- bzw. Spaltenkoordinaten der Grenzpixel speichern.Wie kann ich die parametrische Grenze eines Objekts mit N Punkten abtasten, was zu Teilen mit gleicher Bogenlänge führt?
Was ich tun möchte, ist, diese Grenze der Q-Elemente durch N Punkte zu probieren, die die ursprüngliche Grenze in Segmente gleicher Bogenlänge teilen.
Eine einfache Lösung, die ich dachte, besteht darin, die Länge L der Grenze zu berechnen, indem man den Abstand aller zwei aufeinanderfolgenden Grenzpixel summiert. Diese Abstände sind entweder 1 oder 2. Dann teile ich L durch N, um die gewünschte Länge der Bögen zu finden. Schließlich iteriere ich über die Grenze und summiere den Abstand aller zwei aufeinanderfolgenden Grenzpixel. Wenn die Summe größer oder gleich der gewünschten Bogenlänge ist, wird das aktuelle Grenzpixel als eines der N ausgewählt, das die abgetastete Grenze bilden wird.
Ist das eine gute Lösung? Gibt es eine effizientere/einfachere Lösung?