OpenCV 2.0 Introduces CPP Style Coding and More

Categories:
technology
Tags:
opencv

No more void *‘s apparently. And they’ve got constructors and destructors.

Check out the documentation here: http://opencv.willowgarage.com/documentation/cpp/index.html

Notably, the memory management seems to be much nicer as destructors are called when there are no more references to the object.

As well, quickly accessing data row or plane major seems to be much easier now:

e.g. plane access:
// split the image into separate color planes
vector planes;
split(img_yuv, planes);

// access with iterators:
MatIterator_ it = planes[0].begin(),
                    it_end = planes[0].end();

As well, they have implemented STL-like class traits for easily declaring matrices with the normal c++ primitives without having to remember CV_64F etc…

e.g.:
Mat A(30, 40, DataType::type);
Mat B = Mat_ >(3, 3);

There is a whole lot more introduced including a revamped interface system, many more machine learning and computer vision algorithms, OMP integration, and probably a lot more.  I’ll be playing with it to see what else is going on.  Hopefully the openframeworks community will pick up on it as well and integrate it into their next major release.  I know I’ll be doing so for my projects.