Question

I would like to know how the functions within the Matlab computer vision toolbox work? (like functions which operate Feature Detection, Extraction, and Matching)

Are they written originally in Matlab language, or calling opencv libraries ?

Was it helpful?

Solution

The functionality in Computer Vision System Toolbox is available as MATLAB functions, System Objects, and Simulink blocks.

It's implemented in a mixture of MATLAB code and C code, and as far as I know does not rely on OpenCV at all.

However, it also supports Code Generation using MATLAB Coder and Simulink Coder - in other words, once you have prototyped and developed a system using MATLAB, Computer Vision System Toolbox and maybe Simulink, you can automatically generate much faster C code from it (which, if you want, could be integrated with functionality from OpenCV).

OTHER TIPS

I don't know how they were written, by they are written badly. I don't believe they call opencv libraries, because, in my personal experience, they are 50 slower in many procedures. Having used opencv in python, which actually calls the opencv c++ libraries, the performance overhead is unnoticeable.

So, if you need efficiency, use openCV. Most procedures are more than 10 times faster. Remember, that it's not only the computer vision toolbox that is important but also related toolboxes (just loading a 20 minute video with matlab video toolbox can lead you to a nervous breakdown).

If you don't want to use c++, use opencv in python. It very easy to setup (just import a single file), easier to use, completely up-to-date, and has great performance. Moreover, it stores the images as arrays in a matlab-like format (python numpy package), so you will feel more comfortable manipulating them.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top