Ask Your Question

Revision history [back]

How to use opencv dft with Neon support from Qt on Raspberry Pi 3

Hi All.

The problem is that my cv::dft function is running extremely slow on the raspberry pi 3, comparing when ran on a regular PC.

I have a raspberry Pi 3 ( jessie ), with opencv 3.1.0 and Qt Creator 3.2.1 Based on Qt 5.3.2 (GCC 4.9.2, 32 bit)

I tried recompiling opencv with Neon support like instructed here:

http://hopkinsdev.blogspot.co.il/2016/06/opencv-310-optimized-for-raspberry-pi.html

and adding the following flags in Qt .pro file:

QMAKE_CFLAGS = -mcpu=cortex-a7 -mfpu=neon-vfpv4 -ftree-vectorize -mfloat-abi=hard

QMAKE_CXXFLAGS = -mcpu=cortex-a7 -mfpu=neon-vfpv4 -ftree-vectorize -mfloat-abi=hard but I seen no improvement in my app cv::dft run time.

I also read the following article: https://www.raspberrypi.org/blog/accelerating-fourier-transforms-using-the-gpu/

but the described class in the article ( GPU_FFT ) is for raspberry pi 1 and the article says fast GPU enabled fft can be done with opencv Neon support on Raspberry pi 3.

Any idea how to make the cv::fft go faster, using the Raspberry pi 3 GPU?

Thanks!!