views:

1508

answers:

6

Hey everyone,

I'm interested in writing some basic computerized object recognition application, so I figure I need some theoretical background in image processing algorithms, along with some AI for decision making capabilities.

I'm a computer science graduate, and one day I plan to get my Master's degree, hopefully in one of these fields. In the mean time, I'd like to get a head start and do some self-learning.

So my question is, where do I start? I'd appreciate an arrow in the right direction, a few links if possible.

Thanks,

Yuval =8-)

+5  A: 

Maybe take a look at: OpenCV. Really good library for image processing, and when you will know what to use for what purpose, you can take a look 'under the hood' to know how is it working :)

rkj
good answer rky!
Murko
+3  A: 

Welcome to the fun world of computer vision, which is basically the field you deal with image processing with AI algorithms to do recognition/tracking/segmentation etc. Without being exhaustive, the whole deal involves image acquisition, image processing, image segmentation, image recognition.

The easiest way to start is probably OpenCV. In most applications however, using OpenCV is probably overkill, as it's really not that difficult to start from scratch. Once you got past the picture loading (You probably would wanna consider BMP as it's easiest to parse) part, you can implement many basic image processing algorithms if you just had the mathematical formula. There are also other library you could probably try, stuff like torchvision, AForge (.NET) are good choices.

When it comes to the AI part, here's where things become interesting. You probably would want to use SVM where there a host of library you can use, e.g. libsvm, SVMlight and etc.

Hao Wooi Lim
+2  A: 

If you're interested in books I'd recommend "Introduction to image processing and analysis" by John Russ at an introductory level. I also used ImageJ as a good, free image analysis application - good for prototyping and trying things out. As others have said the OpenCV library is well worth looking at too.

Ian Hopkinson
A: 

An open source .NET SDK implemented in C# & C++ was recently released by Microsoft with some very rudimentary webcam interfacing and image analysis. It may be worth taking a browse around the extremely well documented code just to get going with.

+9  A: 

You may want to check out the answers to these similar question:

Ivan
Duh... I should've done a more thorough search on SO.
Yuval
A: 

Good answers. I hope you're not math-phobic. My favorite technique these days is Markov-Chain Monte Carlo (Google Spiegelhalter). Recognition is an optimization problem, and MCMC is a general way to handle them via Bayesian inference.

Mike Dunlavey