1

我正在使用 ITK 工具包的 Canny Edge Detection。

与 OpenCV Canny Detection 相比,它似乎相当慢。对于大小为 144x176 的图像,我的估计是 0.5 秒。

或者过滤器应该运行得更快吗?

谢谢你的帮助,皮特

4

2 回答 2

2

ITK 中的许多过滤器都是通用的,但不一定是优化的。另一方面,OpenCV 已经过大量优化。ITK 会慢得多也就不足为奇了。

因为 ITK 是大量模板化的,所以它依赖于编译器内联函数调用。如果您编译了 Debug(这可能是您的默认设置),那么 ITK 会非常慢(使 Reaaaaaallllllllyyyyyy sssssslllooooowwwww)。在 Release 模式下编译后重试。

于 2011-09-22T21:09:24.327 回答
2

即兴发挥,这对我来说似乎也有点慢,但我需要更多信息来提供帮助。

  1. 硬件规格?
  2. 操作系统/IDE/您是如何构建 ITK 的?在调试或发布?
  3. 您使用的是 C++ 还是其他语言包装器之一?
  4. 您能否在 filter->update() 调用之前和之后放置一些 clock() 语句来验证进入边缘检测器的确切时间量,以及开销是多少?
于 2011-01-24T03:19:40.460 回答