Вопрос по – FFTW против OpenCV cvDFT

7

Могу ли я ожидать ускорения при использовании FFTW (http://www.fftw.org/) вместо ccDFT OpenCV (http://goo.gl/YCHj0)?

Время выполнения моей программы в значительной степени определяется применением обратного и прямого DFT, и я думаю об использовании FFTW вместо OpenCV cvDFT.

IIRC FFTW выполняет своего рода «компиляцию во время выполнения»; тогда как cvDFT - это простая реализация FFT, так что я думаю, это может немного ускорить мою обработку.

Поэтому, прежде чем я попробую это сам, я подумал спросить здесь, если кто-то наткнулся на тот же вопрос и решил его раньше.

заранее спасибо

Ваш Ответ

1   ответ
13

и вы можете ожидать, что FFTW будет быстрее, чем простая реализация в OpenCV (конечно, многое зависит от вашего процессора и размеров изображения). Однако, если вы планируете использовать свое программное обеспечение в коммерческих целях, у FFTW достаточно дорогая лицензия ($ 7500,00). В коммерческом случае я бы порекомендовалIntel IPP по сравнению с FFTW, поскольку производительность схожа с гораздо более доступной лицензией (199,00 долл. США) + вы получаете гораздо больше функциональности в IPP, чем с FFTW (т. е. только библиотека FFT).

Вот Есть несколько тестов между FFTW и различными библиотеками конкурентов. Результаты довольно старые, но полезны для сравнения. Я не уверен, почему 2D-преобразования IPP не включены (возможно, когда эти эталонные тесты были сделаны, они еще не существовали).

Если вы идете по маршруту IPP, вы можете собрать OpenCV с поддержкой IPP, и он заменит собственныйcvDFT реализация с эквивалентом IPP. Это значительно повысит производительность (особенно на чипах Intel), и вам не придется менять код.

Большое спасибо! Сначала я попробую перекомпиляцию IPP. Необходимо проверить эти вопросы лицензирования, хотя. Arvid Terzibaschian
Нет проблем! Надеюсь, вы найдете, что IPP достаточно быстр для ваших нужд! Скорее всего, он будет работать лучше всего на последних чипах Intel Core-i7.

Похожие вопросы