Bietet OpenCV eine quadratische Normfunktion für cv :: Point?

9

Ich muss mehrere Abstände zwischen Punkten gegen eine Distanzschwelle prüfen. Was ich tun kann ist, das Quadrat meiner Schwelle zu nehmen und es mit der quadrierten Norm von (a-b) zu vergleichen, wobei a und b die Punkte sind, die ich überprüfe.

Ich weiß von cv::norm Funktion, aber ich frage mich, ob es eine gibt Version, die nicht die Quadratwurzel berechnet (und ist daher schneller) oder wenn ich es manuell implementieren sollte.

    
Antonio 01.10.2015, 12:30
quelle

2 Antworten

4

Hinweis von OP :
Ich habe diese Antwort akzeptiert Wie es die beste Methode ist, die man mit OpenCV,
erreichen kann, aber ich denke, dass die beste Lösung in diesem Fall für eine benutzerdefinierte Funktion geht.

Ja, es ist NORM_L2SQR :

%Vor%

Sie können in der Funktion cv::norm in stat.cpp sehen, dass wenn Sie NORM_L2SQR verwenden, berechnen Sie nicht sqrt in der Norm:

%Vor%

Zum spezifischen Thema:

  

Mein eigentliches Problem ist: Ich habe einen Vektor von Punkten, verschmelze Punkte näher als eine gegebene Entfernung. "Zusammenführen" bedeutet, dass Sie eine entfernen und die andere Hälfte in Richtung des gerade entfernten Punkts verschieben.

Sie können wahrscheinlich

  • Nutzen Sie die Partition Funktion mit einem Prädikat, das true if zurückgibt Zwei Punkte liegen innerhalb einer bestimmten Schwelle.
  • ruft alle Punkte im selben Cluster ab
  • berechnet den Schwerpunkt für jeden Cluster

Hier der Code:

%Vor%

erzeugt die zwei Zentren:

%Vor%     
Miki 01.10.2015, 12:36
quelle
0

Es scheint, dass es keine besonderen Probleme gibt, um dieses Problem anzugehen.

Ich dachte, dass eine Lösung die Methode ddot (Punktprodukt) verwenden und etwas wie

berechnen könnte %Vor%

Wenn man bereit ist, das Risiko einzugehen, gibt es cv::normL2Sqr , was erfordert, dass die Eingabe im Array-Format erfolgt: cv::Point könnte direkt in int[] konvertierbar sein.

Ich werde persönlich weitermachen, indem ich meine eigene quadrierte Norm schreibe.

    
Antonio 01.10.2015 12:53
quelle

Tags und Links