Примечание. Этот вопрос первоначально задавался на форуме OpenCV пару дней назад.
Я создаю программу обработки изображений, в которой широко используются 2-размерный дрейф, дискретное преобразование Фурье.Я пытаюсь ускорить работу в режиме реального времени.
В этом приложении я использую только часть вывода dft, указанную в прямоугольной области интереса.Моя текущая реализация состоит из следующих шагов:
- Вычислить dft входного изображения f (обычно размер 512x512) и получить весь результат dft F
- Обрезать F в предварительно заданную область интереса (ROI, обычно размер 32x32, расположен произвольно), R
ThisПроцесс в основном работает хорошо, но требует бесполезных вычислений, так как мне нужна только частичная информация F .Я ищу способ ускорить этот расчет только за счет вычисления необходимой части dft.
Я обнаружил, что OpenCV с Intel IPP вычисляет dft с функциями Intel IPP, что приводит на порядок быстрее, чем наивная реализация OpenCV,Мне интересно, могу ли я даже ускорить это вычисление, только вычисляя предварительно заданную частотную область dft.
Поскольку я новичок в OpenCV, я заблудился, поэтому надеюсь, что вы могли бы предоставитьспособ сделать это.
Пожалуйста, обратите внимание, что я не хочу делать dft для ROI изображения, то есть dft (ROI (f)) , но я хочувычислить ROI (dft (f)) .
Заранее спасибо.