views:

944

answers:

5

Hey, I am interested in studying some image processing. I imagine matlab is the best way to go about that but right now I don't have access to matlab. I tried octave but for some reason it can't even load a png, bmp or anything other than 1 specific format. R doesn't seem to be the key here either.

What is the language of choice here? Perl?

Also can anyone point me to any other good tutorials that I may have missed on image processing?

A: 

Have a look at Adobe Pixel Bender. It's really fun to play with.

PEZ
+1  A: 

The recommended language in my computer vision class was Ch with the OpenCV library. Ch is basically an interpreted version of C, the syntax is quite similar but has a few nice features, like treating arrays as matrices. OpenCV will house pretty much any image processing function you could need.

ReaperUnreal
+4  A: 

I guess it depends on what you want to do. Matlab certainly is a high end choice, but for a lot of things the image modules of general purpose programming languages do the trick.

I did some pixel mangling and image processing with PIL, the python image library. It is perfectly sufficient for processing single RGB images of reasonable size (say, what a consumer digital camera delivers). It can handle alpha channels, has some filters, more or less quick methods of accessing the pixel information - and it is python, a very straightforward and readable language.

Ole
+1, Both Matlab and Python+PIL are easy to work with. With PIL you get many good building blocks, and with numpy you get all the matrix transforms you need to complement it.
orip
+1, Just wanted to insist that Matlab with its Image Processing Toolbox is hands down the best environment to *learn* image processing, due to the sheer amount of functions implemented and docs that support them. It gives you lots of freedom to experiment right out of the box (for an arm and a leg).
Ivan
+1 for Python+PIL - I've created a gallery app which creates thumbnails in an intelligent way using that combo.
Jon Cage
+1  A: 

Opencv is an excellent image processing library. Although written in C it comes with some high level tools to display images handle image files, mouse events etc so you can experiment without writing a lot of windows code.

It also works with python, although I haven't used it with the PIL.
If you are interested in how the algorithms work then implementing them yourself using python and numpy for the matrix ops is easy.

Martin Beckett
A: 

I think any free programming environments will do basic image processing well. If speed is not an issue, Processing will work fine and you can easily extend your code to Java in the future.