android Opencv based on Float instead of Double

asked 2014-07-30 13:09:58 -0600

esihaj gravatar image

Floating point operations(compered to Doubles) are much faster on arm architectures and other than that NEON doesn't support doubles. So why isn't opencv4android based on float instead of double to offer a better performance ?

As an example of better performance I could mention warpPerspective (ImgProc). It was too slow (around 100 ms) but then I created my own version based on floats and voila it took only 5 ms.(not rebuilt as part of opencv but as part of my own app/lib)

I can not fork and build my own version of opencv based on float because I'll lose the advantage of some closed-source optimization which according to my testing is really important. (My own builds of opencv (with lots of optimization flags) resulted in 200-300 ms for warpPrespective!)

edit retag flag offensive close merge delete

Comments

I think you should take this to the development forum and suggest some fixes to increase the performance. Offcourse it would be nice if you are willing to contribute your 5ms implementation, but it seems that will not work out.

StevenPuttemans gravatar imageStevenPuttemans ( 2014-07-31 03:03:30 -0600 )edit
1

@esihaj have you open sourced your own version warpPerspective ? Perhaps, added it to OpenCV ? I'm facing the similar problem of warpPerspective taking horrible ~250ms times on 960x720 dest-size warps. If you can't release your code source, could you atleast hint at how you made it work under 5ms? Thanks.

bad_keypoints gravatar imagebad_keypoints ( 2015-10-08 06:12:19 -0600 )edit