AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Durchlaufrichtung eines Polygons erkennen

Durchlaufrichtung eines Polygons erkennen

Ein Thema von Nikolas · begonnen am 19. Jun 2008 · letzter Beitrag vom 20. Jun 2008
Antwort Antwort
Seite 2 von 2     12
Medium

Registriert seit: 23. Jan 2008
3.596 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Durchlaufrichtung eines Polygons erkennen

  Alt 19. Jun 2008, 19:44
Mal so am Rande: Wie wirkt sich eine Orientierungsvertauschung überhaupt in Fourierdeskriptoren aus? Nicht, dass wir hier viel zu viel machen, und nachher ists da einfach durch Vorzeihen/Phasenverschiebung/Spiegelung erkennbar . Lage und Drehung sind ja egal dabei, nur an die Wirkung der Orientierung kann ich mich nicht mehr erinnern.

@Jpeg2000: Das erklärt einiges, thx
"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
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Durchlaufrichtung eines Polygons erkennen

  Alt 19. Jun 2008, 19:51
Da bin ich mir ehrlich gesagt nicht sicher, da ich keine Werte habe, um meinen Algorithmus für die Deskriptoren zu testen.
Im Anhang noch mal ein einfacheres Bild. Grün die Koeffizienten, Rot die Deskriptoren. Die dicken Linien markieren die Laufrichtung, der Gaussalgorithmus funktioniert jedenfalls schon mal bei diesen beiden.


Danke für eure Hilfe (besonders an das Medium)

Im Anhang gibt's ein neues Beispiel, rot die Deskriptoren, die doch sehr schön aussehen.
Der Code ist in Java, falls jemand Lust hat, ein paar der Funktionen nach Delphi zu portieren, werde ich den Code hier veröffentlichen.
Angehängte Grafiken
Dateityp: jpg 2_226.jpg (39,4 KB, 19x aufgerufen)
Dateityp: jpg final_143.jpg (64,2 KB, 25x aufgerufen)
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.596 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Durchlaufrichtung eines Polygons erkennen

  Alt 19. Jun 2008, 22:18
Ich meinte eher, dass du mal versuchen könntest Koeffizienten/Deskriptoren für ein und die selbe Kontur, ein Mal im und ein Mal gegen den Uhrzeigersinn. Wenn man die Deskriptoren dann vergleicht, ist der Unterschied evtl. sehr laufzeiteffizient zu ermitteln, so dass du damit ganz einfach gleiche Konturen erkennen kannst, die sich in ihrer Orientierung unterscheiden. Im Grunde ist es ja eine Spiegelung.

Und nicht lage fragen, ob der Code interessant wäre! Das ist seit längerem mal wieder ein echt interessantes Thema in der DP ( Geometrie/LA), und ich würde mich gerne mal daran versuchen das zu portieren.
"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
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#14

Re: Durchlaufrichtung eines Polygons erkennen

  Alt 20. Jun 2008, 07:02
Das kann ich mal machen.
Nur leider habe ich noch Fehler drin. Beim final.JPG sind manche Konturen schon sehr schön. (z.B. die ganz rechts und ganz oben), die unterste und rechts oben sind aber noch gegeneinander verdreht.

Auch weiss ich nicht genau, wie ich die Deskriptoren vergleichen soll. Mein erster Ansatz ist einfach die Differenz für jeden Deskriptor zu nehmen und dann über die Beträge zu summieren. Da liegen bei dem gegebenen Bild aber alle Differenzen zwischen 0.3 und 2 (c_5,...,c_5 benutzt), wodurch eine Klassifikation recht schwierig wird. Auch wenn ich mehr (100) Koeffizienten benutze, werden die Werte nicht besser.

Wenn ich einen sauberen Klassifikator habe, werde ich den Code mal hochladen. Die Portierung dürfte nicht allzu schwierig sein, ich benutze jedoch eine Klasse für Komplexe Zahlen, da müsstest du mal schauen, wo du sowas schönes für Delphi findest.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.596 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: Durchlaufrichtung eines Polygons erkennen

  Alt 20. Jun 2008, 18:32
Eine Lib für komplexe Zahlen hab ich schon länger fertig rumliegen, die sollte sich ja anpassen lassen.

Was die Bestimmung von Ähnlichkeit angeht, so könnte evtl. Folie 16 dieser Powerpoint Präsentation hilfreich sein.
"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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf