# Image processing free open source libraries

This is the first time that I post a question here so excuse me for asking such a beginner question.
what free open source 3rd party libraries which have good documentation(because I'm new to using 3rd party libraries) would you suggest me for fourier transform,inverse fourier transform , meshgrids , dynamic arrays and etc to have a better performance and higher speed in visualC++ when implementing image processing filters? Note that I'm not permitted to use openCV. In fact I'm going to compare the results of my code with results of openCV

• Image Processing Toolbox of MATLAB is very rich one and there is a nice User Guide available for it. – Mahdi Khosravi Aug 22 '13 at 11:01

For Fourier transforms go get fftw. I don't know what meshgrids are, so I can't answer that. For dynamic arrays: that's what std::vector is, it's built into the language.

For a wider variety of image transformations you might look at GEGL and the library underlying Imagemagick.

There's also this question about filtering software: Use Butterworth and Chebychev filters.

• meshgrids are for making a surface from discrete points and for better performance I think I just can use 1D vectors – Sepideh Abadpour Jul 13 '13 at 16:57
• FFTW is not free - KissFFT would probably be a better choice (it's also a lot easier for a beginner to get to grips with). – Paul R Jul 13 '13 at 21:27
• FFTW is GPL. Whether that is "free" or not depends on your definition of "free". It is "free: in the sense that you can download, use and modify the executable or the source without paying anyone any money. It is "not free" in the sense that if you need to distribute it as part of a non-free application then you need to buy a license from MIT. – Wandering Logic Jul 13 '13 at 22:32

There's CImg for image processing.

Its been around for years now and has grown to have many features. Its a mature, open source project and its well documented. The CImg license is similar to LGPL. Of course I'd still prefer opencv but it seems you cant use that.

• Could you perhaps expand on your answer to make it a little more useful, e.g. explain why CImg might be a good choice ? – Paul R Jul 22 '13 at 13:33