Best way to get most FPS android camera?
I am currently working on an application that uses the OpenCV Library 2.4.4 in Android. I am doing a Canny edge detection and a guassian blur (to reduce noise) but the maximum FPS i'm currently getting is 8.5 FPS in the minimum resolution (320x240). In the normal resolution (960x720) it drops to about 2.3 FPS.
I read about the JNI (C++ code) and was wondering if the camera would receive more Frames Per Second if I used the JNI/ Native/C++, or won't that change a thing?
I am using a Samsung Galaxy S3 with a quad core processor, so I am really wondering if there is no possible way to get the FPS higher (threading maybe with OpenCV is that is an option? I haven't really found anything about it).
I'd be interested to know the answer to this too... I recently changed from an HTC Desire S to a Nexus 4 and despite the significant increase in processor power, I get very similar frame rates in my OpenCV apps - using the preview at the same resolution (800x480).
I expected the simple increase in computing power to give me a clear boost, even tho of course at the same time I changed from Android 2.3.x to 4.2 and OpenCV from 2.4.0 to 2.4.4, but even with very light use of OpenCV calls I never get above 10fps.
I found something very strange and interesting, when I work with OpenCV example number 2, the mixed Process (Java and C++ JNI) I get double the FPS then when I just use the normal one (without the JNI) .... how is this possible? The Canny edge detection has double the FPS with the JNI part included (Tutorial 2) then without it.. so weird
@Barry I think opencv has some problems with the Nexus 4. I tested with a simple sample and it does not go above 10fps. With other device it goes up to 30fps.
@Rui Interesting... thanks. Fortunately I'm just experimenting with OpenCV really and don't have a serious need for high speed, but 10fps is very disappointing :(