How evaluate the performance of OpenCV
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
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?
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).
@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?
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.
...or GPU/CUDA implementations, or CL, etc (read carefully the docs for better understanding)
okay, great! thank you for the fast reply!
Will you put the result of the comparison here too?