2011-01-17 11 views
1

私はITKツールキットのCanny Edge Detectionを使用しています。ITK Insight Toolkit - 遅いキャニーフィルター

OpenCV Canny Detectionと比較して、かなり遅いようです。私の見積もりは、サイズ144x176の画像の場合、0.5秒です。

フィルタを高速で実行する必要がありますか?あまりにも私には少し遅いようですが、私は助けるために、より多くの情報が必要になります助けを

おかげで、 ピート

答えて

2

カフオフ、。

  1. ハードウェア仕様?
  2. OS/IDE /どのようにITKをビルドしましたか?デバッグやリリースで?
  3. C++または他の言語ラッパーのいずれかを使用していますか?
  4. filter-> update()コールの前後にいくつかのclock()文を入れて、エッジ検出器に行く正確な時間と、オーバーヘッドになるものを確認できますか?
2

ITKのフィルタは、一般的なものとして書かれていますが、必ずしも最適化されているとは限りません。一方、OpenCVは大幅に最適化されています。 ITKがはるかに遅いことは驚くべきことではありません。

ITKは頻繁にテンプレート化されているため、コンパイラは関数呼び出しをインライン化するコンパイラに依存しています。あなたがデバッグをコンパイルした場合(これはあなたのデフォルトかもしれません)、ITKは本当に遅くなります(Reaaaaalllllllyyyyyy sssssslllooooowwwww)。リリースモードでコンパイルした後、もう一度試してください。