vrcore  0.45
visuReal Messkern
 All Classes Files Functions Variables
ContoursFilter Class Reference

#include <ContoursFilter.h>

Public Member Functions

 ContoursFilter (ContourVector &contoursOut, const ContourVector &contoursIn, const RoiRect &rRoi)
 
void operator() () const
 

Detailed Description

Filterung der Konturen Voraussetzungen an Konturen zur Fassungserkennung vR2 Die Konturen muessen natuerlich von einem Gegenstand sein, also von einem Original, sie duerfen aber aus mehreren verschieden gefilterten Versionen dieses Bildes kommen. Hier ist keine Unterscheidung von linkem u rechtem Auge noetig. Die Klasse ist rein bildseitig zu implementieren, sprich ohne Kenntnisse der Kamera.

Rois, für jedes Auge eines, machen anhand der Marken, ebenso anhand der Marken: vermutete Mitte der Scheibe und vermuteten Innenradius machen, Konturen finden zu laschen Schwellwerten Rueckgabe in (*lpContoursVec), zusaetzlich sollen Polarkoords moeglich werden.

  1. Filter Zerschneiden der Konturen an Knicken. Insbesondere zerfallen die OpenCV-Konturen, die Hin-und Rückweg enthalten, in mindestens zwei Konturen mit nichtleerer Schnittmenge, da bei der Umkehr geschnitten wird. Es entstehen Punktmengen, die keinen Punkt zweimal enthalten. Konturen mit nichtleerer Schnittmenge sollten zu einer Kontur zusammnegefasst werden. Offen ist, an welchem Punkt dies zweckmaessigerweise geschieht - sicher aber vor der Zusammengehoerigkeitsbewertung durch Splines, um die Zahl der Kombinationen einzuschraenken.

    trafo auf polarkoords wegschneiden aller Konturen, die in den vermuteten Innenradius reinragen wegschneiden aller Konturen, die zu hohe radiale veraenderungen aufweisen

    Diese Methoden stehen und fallen in ihrer Qualitaet mit dem vernuenftigen Finden der Glasmitte!

  2. a.ohne Bewertung der Zusammengehoerigkeit: Auswahl der jeweils innersten Kontur jeder Seite.
  1. b. In CombinationsValidator: Bewertung der Zusammengehörigkeit anhand ihrer Approximierbarkeit evtl. Auswahl aller Konturen, die einen Winkel von 60 Grad um die verm. Scheibenmitte umspannen wegschneiden rein waagerechter u senkrechter Konturen (Streben, Buegel!) Auswahl der jeweils innersten Kombination von Konturen, die nach 3.1 als eine Kante bildend eingestuft wurden. Dabei wird fuer parallele Kanten anhand der Laenge des Koeffizientenvektors 3.2 entschieden, welche die innere Kante ist.

Member Function Documentation

void ContoursFilter::operator() ( ) const

Aehnlichkeitsbetrachtung: Fuer zwei parallele Strecken, deren Endpunkte gleiche Winkelkoordinaten haben, ist das Verhaeltnis von Radien und Radiendifferenzen gleich. zum Ursprung der Polarkoords hin kann das Kriterium verschaerft werden.


The documentation for this class was generated from the following files: