Computer Vision News - November 2016

A very common work plan in R&D project management is to start with prototype in Matlab and, after implementation of the right algorithm with the desired results, to convert the software into C++ . This procedure is very efficient, because Matlab is usually a much simpler environment for research and most algorithm developers are familiar with it. On the other hand, in order to build a very stable and robust software, destined to be maintained and to last for a long time, a very good software development design is required, fit to work in object-oriented environment. Not all the algorithm developers possess this expertise , even not some of the brightest ones. Today, performing this migration might sound like a very simple task , since both environments feature very strong tools: while Matlab includes algorithms that you can use with functions that are already written, you can find the same functionalities in the equivalent environment in OpenCV, which is the most common and efficient environment for computer vision in C++. In theory, one could just take the canny edge detection from Matlab and exchange with the canny edge detection of OpenCV. The same could be said about most algorithms. But the reality is very different: although the algorithm might be the same, the parameters and the specific implementation might be quite different. In the same way, their result will be different. 70 Computer Vision News Project Management Tip Porting Matlab code to C++ Management “ This migration might sound like a very simple task ” Our CEO Ron Soferman continues his series of lectures providing a robust yet simple overview about how to respect goals, budget and deadlines in computer vision projects. Today we read his recommendations about porting Matlab code to C++ . “ The algorithm might be the same, but the parameters and the specific implementation might be quite different ”