Performance Analysis of OpenCV


I am part of a team of graduate students at Purdue University, and for one of our classes this semester we have been tasked with conducting a performance analysis of an open source software library (with the hope that this analysis leads to an update of the library). While we have not yet decided upon a library for the project, OpenCV is one of the finalists we are considering.

I am writing this post to reach out to the OpenCV community to see if there are any specific features/areas of the OpenCV code base that community members think may be a good candidate for this type of activity. If so, please respond with your ideas.

Thanks in advance!

on opencv’s github, in the wiki section, there are “OE” opencv evolution proposals. you might be able to mine areas of (planned) improvement from that.

in terms of execution speed, there are already plenty of eyes on that on all the popular parts (DNN).

personally, I think the drawing primitives, line() in particular, could use a complete overhaul. accuracy (thickness when using LINE_AA) is an issue. I don’t expect them to be fast because they run on the CPU. I am a little disappointed that there’s no code path using OpenGL. that could accelerate all kinds of stuff in OpenCV, starting with line() calls and ending in drawing of textured meshes (either perspective or orthogonal projection), which is roughly equivalent to warpPerspective().

Thank you for the information, we will review your suggestions and let you know if we have any further questions!