Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Differences between AForge and OpenCV

I am just learning about computer vision and C#. It seems like two prominent image processing libraries are OpenCV and AForge. What are some of the differences of the two?

I am making a basic image editor in C# and while researching I have come across articles on both. But I don't really know why I would choose one over the other. I would like to eventually improve the app to include more advanced functions.

Thanks.

like image 321
vrish88 Avatar asked Apr 14 '09 20:04

vrish88


2 Answers

Well, why not using both ;) ??

I am using (literally in C# ... lol) EMGUCV.NET (which is an OpenCV C# wrapper) and AFORGE.NET at the same time:

AFORGE.NET plus its "Image Processing Lab" makes much sense for filtering options (edge detection, thresholds, and so forth) and easing viewing functionalities.

OpenCV provides all the rest like SIFT/SURF and other more sophisticated image processing routines.

That's why you use .NET: simply bring all the components you need together in one application :)

like image 167
Guido Avatar answered Sep 20 '22 18:09

Guido


I am using OpenCV for a project in school right now, and I browsed the documentation for AForge and their feature seem to differ. AForge has lots of filters and is probably excellent for different transforms and image manipulation. But it seems to lack quite a bit in other areas. I could not find any matrix operations which was a disappointment as it is so useful in computer vision. Our current project (3D point cloud reconstruction from an image sequence) would, as far as I could see from the docs, be impossible to do with AForge alone.

Combine AForge with a good linear algebra library and you might have something really useful though.

As for OpenCV it has a rich feature set but is a bit tricky to program with.

like image 26
Hannes Ovrén Avatar answered Sep 23 '22 18:09

Hannes Ovrén