2011-01-17 13 views
1

Ich benutze die Canny Edge Detection des ITK Toolkits.ITK Insight Toolkit - Langsam Canny Filter

Verglichen mit dem OpenCV Canny Detection scheint es ziemlich langsam zu sein. Meine Schätzung ist 0,5 Sekunden für ein Bild der Größe 144x176.

Oder sollte der Filter schneller laufen?

Vielen Dank für Hilfe, Pete

Antwort

2

Aus der Manschette, die ein bisschen zu langsam mir scheint, aber ich werde viel mehr Informationen Hilfe benötigen.

  1. Hardware-Spezifikationen?
  2. OS/IDE/Wie haben Sie ITK gebaut? In Debug oder Release?
  3. Verwenden Sie C++ oder eines der anderen Sprache Wrapper?
  4. Können Sie einige Clock() -Anweisungen vor und nach dem Aufruf von filter-> update() eingeben, um die genaue Zeit zu überprüfen, die zum Kantendetektor geht, und was passiert mit dem Overhead?
2

Viele Filter in ITK wurden als generisch geschrieben, aber nicht unbedingt optimiert. OpenCV wurde dagegen stark optimiert. Es ist nicht überraschend, dass ITK viel langsamer wäre.

Da ITK stark templated ist, stützt es sich auf den Compiler inlining Funktionsaufrufe. Wenn du Debug kompiliert hast (was dein Standard sein könnte), wird ITK wirklich langsam sein (mach das Reaaaaaalllllllllyyyyyy ssssssllloooooowwwww). Versuchen Sie es erneut nach dem Kompilieren im Freigabemodus.