Ask Your Question

How evaluate the performance of OpenCV

asked 2016-01-12 04:32:53 -0500

NewDeveloper gravatar image

Dear OpenCV-community, Like the topic of my question might suggest, i am interested in the evaluation of the performance of the open source library OpenCV. I am new at the developer front, and i am not really shure how a Performance test should look like. My Overall goal is to compare two open source libraries. The open source libraries i am looking for are the OpenCV- and the ITK library. I know that there are serveral ways to perform a comparison. One way i would do it is to check the performance differences between them.

I am looking Forward to here from you, high regard Andreas

edit retag flag offensive close merge delete



OpenCV contains a thousands of functions. What do you mean by "OpenCV performance"? Do you know OpenCV and ITK functionality intersection to compare only common parts? ITK is for medical imaging, OpenCV is for near-realtime video and image processing of broad purpose -- but what is your task?

Vit gravatar imageVit ( 2016-01-12 06:05:21 -0500 )edit

Yes, in the docs, ITK is for segmentation and registration, so there is "just a little part of OpenCV". OpenCV is for Computer Vision, that is more than just segmentation and registration; much more. If you need it just for ITK area, then you should start to pick just the common functions and compare them regarding speed, memory used and quality of results (but this I suppose it is very the same).

thdrksdfthmn gravatar imagethdrksdfthmn ( 2016-01-12 06:42:36 -0500 )edit

@Vit i mean the performance of some filters which are available in both libraries like the median- , mean-, bilateral filter an so forth ... the task by it self is to compare the libraries , choose one of them, and work with it for Image processing purpose e.g. noise reduction in sonographic samples

@thdrksdfthmn the suggestion to compare the common functions of the libraries concerning the speed-, memorysize and the Quality difference is a nice broad hint. But how does usually a test as a speed test look like? Do i have to start a timer in the background... then perform a image processing step, and check which method was faster? Do i have do it in a statistical manner with different common functions and different Hardware components to get trustfull data?

NewDeveloper gravatar imageNewDeveloper ( 2016-01-12 07:33:55 -0500 )edit

Yes, you should use a time that is started before the execution of the function and stopped after it. keep/display this time difference and do the same for the equivalent function. Do this some times (100 should be enough) over the same input and do the mean of the measurements. That should be a comparison in speed. If the functions are too fast, try with bigger input. Be careful at the multi-thread implementations (if there are any): do not test the one thread in comparison with the multi-thread one.

thdrksdfthmn gravatar imagethdrksdfthmn ( 2016-01-12 07:41:12 -0500 )edit

...or GPU/CUDA implementations, or CL, etc (read carefully the docs for better understanding)

thdrksdfthmn gravatar imagethdrksdfthmn ( 2016-01-12 07:42:14 -0500 )edit

okay, great! thank you for the fast reply!

NewDeveloper gravatar imageNewDeveloper ( 2016-01-12 08:07:51 -0500 )edit

Will you put the result of the comparison here too?

thdrksdfthmn gravatar imagethdrksdfthmn ( 2016-01-13 04:12:16 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2016-01-13 04:25:40 -0500

NewDeveloper gravatar image

Yes i will post my results of the comparison here

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2016-01-12 04:32:53 -0500

Seen: 181 times

Last updated: Jan 12 '16