2012-05-03 38 views
6

¿Puedo esperar una aceleración al usar FFTW (http://www.fftw.org/) en lugar del cvDFT de OpenCV (http://goo.gl/YCHj0)?FFTW vs. OpenCV cvDFT

El tiempo de ejecución de mi programa está muy determinado por la aplicación de DFT inverso y avanzado, y estoy pensando en usar FFTW en lugar de OpenCV cvDFT.

IIRC FFTW realiza algún tipo de "compilación en tiempo de ejecución", mientras que cvDFT es una implementación de FFT sencilla, así que supongo que podría acelerar un poco mi procesamiento.

Así que antes de probarlo solo, pensé en preguntar aquí en caso de que alguien tropezara con la misma pregunta y la resolviera antes.

Gracias de antemano

Respuesta

11

he utilizado tanto (OpenCV y FFTW) y se puede esperar que FFTW ser más rápido que la implementación más simple en OpenCV (la cantidad depende mucho de sus tamaños procesador de imagen y, por supuesto). Sin embargo, si planea usar su software comercialmente, FFTW tiene una licencia bastante costosa ($ 7500.00). En el caso comercial, recomendaría Intel's IPP sobre FFTW ya que el rendimiento es similar con una licencia mucho más asequible ($ 199.00) + obtiene mucho más funcionalidad en IPP que con FFTW (es decir, solo una biblioteca de FFT).

Here son varios puntos de referencia entre FFTW y varias bibliotecas competidoras. Los resultados son algo antiguos, pero son útiles para la comparación. No estoy seguro de por qué las transformaciones 2D de IPP no están incluidas (tal vez cuando se realizaron estos puntos de referencia, aún no existían).

Si va por la ruta IPP, puede compilar OpenCV con soporte IPP y cambiará la implementación nativa cvDFT con el equivalente IPP. Esto le dará un buen aumento de rendimiento (particularmente en los chips Intel), y no tiene que cambiar su código.

+0

¡Muchas gracias! Primero intentaré la recompilación de IPP. Sin embargo, es necesario verificar los problemas de licencia. –

+0

¡Ningún problema! ¡Espero que encuentre que IPP es lo suficientemente rápido para sus necesidades! Lo más probable es que funcione mejor con los últimos chips Intel Core-i7. – mevatron