I want to read, study statistically and modify numerical images.

During school i used to work with built in functions in MATLAB. I don't have this possibility anymore.

Now i want tout resume my work. I want to know where to begin.

What langage should i use (i know some R, python and c) ? What package would be interesting ? What book/course should I read to improve my basic knowledge of numerical image, formats, metrics ? (Not affraid of advanced ressources)


3 Answers 3


If you are interested in open source, then I would strongly advocate Python. Not so much for the language itself, but for frameworks/libraries: scipy and scikit-learn on the one side, and OpenCV (you have a interface to OpenCV, cv2, which is also integrated with NumPy so you can develop numerical algorithms with nearly as much ease as with MatLab).

Maybe the nicest thing is that, since both scipy and cv2 build upon Python and Numpy, you even get to use them at the same time, within the same environment.

Together with IPython you have a nice development environment. If you work under Windows check WinPython or PythonXY. They provide all you need

  • $\begingroup$ Thanks for answering my two first questions precisely and with justifications. $\endgroup$ Commented May 21, 2014 at 12:49
  • $\begingroup$ If you have any advice for the last question (courses over image format, metrics). $\endgroup$ Commented May 21, 2014 at 12:53
  • $\begingroup$ This one szeliski.org/Book is freely available (well, at least the draft) and is up-to-date. Otherwise there are tons of them. Depending on your interests I would check what people advice for their lectures in university $\endgroup$
    – jpmuc
    Commented May 21, 2014 at 15:53

If you're used to MATLAB, go ahead and use GNU Octave:

GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. GNU Octave is normally used through its interactive interface (CLI and GUI), but it can also be used to write non-interactive programs. The GNU Octave language is quite similar to Matlab so that most programs are easily portable.

It extends MATLAB syntax, and more importantly, it is free software. You can read its source code if you want to understand in depth what the image processing functions are doing.

The latest release is GNU Octave 3.8, it includes an official GUI.

  • $\begingroup$ What would be the advantages of octave over R (in which i am proficient) ? $\endgroup$ Commented May 21, 2014 at 12:47
  • $\begingroup$ @lmorin: I understood you're proficient in MATLAB. Comparing languages is often of little value. If you experiment both, you'll see the advantages with your own eyes. Nonetheless, I personally dislike the entire R language, it's a mess. Furthermore, you mentioned image processing in the beginning, as far as I know, GNU Octave is better suited than R for such niche. $\endgroup$
    – juliohm
    Commented May 21, 2014 at 20:34

Indeed, Octave is good replacement for Matlab.

for data mining and related exercises, I personnaly use a lot R and perl.

  • $\begingroup$ Indeed, my reply was not that good. Any data mining needs some preparation steps on data (ETL for extract, transform, load). I use perl for that purposes. In addition, analysis in itself might be good with Octave if you are used to Matlab; it might also use other tools like R. Any tool has his pros and cons, you should try and take your own conclusions. $\endgroup$ Commented May 22, 2014 at 20:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.