user1476945
user1476945

Reputation: 113

Increase performance in Android OpenCV project

I'm developing money recognition system for blind people based on android mobile phone. For this I'm using OpenCV as image processing framework. I implemented a square detection module and it's working perfectly.

The phone camera releases 30 frames per second, so the processing is really slow. I use a canny edge detection algorithm (for square detection). The output result is drawn in Android SurfaceView. Any suggestion to speed this up? What about replacing SurfaceView with GLSurfaceView? Will it increase speed?

my device has dual core processor. how about multi core programming??(for android)

My device is Samsung Galaxy S2.

enter image description here

Upvotes: 3

Views: 2195

Answers (1)

ArtemStorozhuk
ArtemStorozhuk

Reputation: 8725

It's hard to say if OpenGL will highly increase speed (yes, OpenGL is definitely faster).

Why don't you benchmark your application to find out how much time spents on drawing and on OpenCV computation?

For example:

  • load one image and make OpenCV computations for n times (without displaying it)
  • load the same image and display it n times

Compare results. If OpenCV takes (about) 80% of time then you definitely have to improve your OpenCV algorithm. Otherwise try to show image using OpenGL.

Upvotes: 5

Related Questions