What classes / namespaces are used for image processing in .NET?

I prototyped a library with some image processing algorithms in Python / Numpy / Scipy and now I want to port the code to C # and WPF.

I figured out that while the input files are images (photos), conceptually what's important to my problem in the domain is that they are 2-D arrays of floats and the operations I perform (grayscale, blur, blob detection, skeletonization) , and even persistence, is best done in floating point space rather than integer space (which usually means bytes - uint8 - generally).

So I took a look at the .NET namespaces and there is a lot of "Drawing" this, "Imaging" that "Media" something, and I'm completely confused.

So the question is, which .NET class is the most obvious and commonly used "image data container" for floating point image processing.

I know about AForge, but since I am learning C # and my image processing needs are not that heavy at the moment, I would like to enable .NET.NET (but that might be a bad idea anyway, so please let me know if so).

+3


source to share


1 answer


Based on what you already have, why not search for the same libraries you used in Python, but for C # /. NET? for example, for numerical calculations see:

Project: http://numerics.mathdotnet.com/

Examples: https://github.com/mathnet/mathnet-numerics/tree/master/src/Examples



And for an example of image processing, perhaps looking at the Paint.NET source code (its latest open source version is openpdn Fork of Paint.NET 3.36.7) can give you an idea of ​​what libraries to use for images:

http://code.google.com/p/openpdn/source/browse/#hg%2Fsrc

Both libraries are in C #.

+1


source







All Articles