3

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

3
  • As far as I know, SurfaceView is only used for software rendering. You should consider using OpenGL in order to achieve hardware acceleration. Commented Jun 27, 2012 at 21:06
  • hardware acceleration,the exact point i want to know. will it help in this kind of Situation?? Commented Jun 28, 2012 at 3:36
  • As @Astor said, it will help you only if the performance loss is related with the rendering, otherwise you should improve the image processing code. Commented Jun 28, 2012 at 14:51

1 Answer 1

5

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.