views:

376

answers:

5

Hi everyone.
I have a project to recognize the footprint of animals. It is similar to facial recognition.
There is a need to store footprint images in a database and compare them with images captured by camera.

The question is what is the appropriate programming language to do this?

+2  A: 

I think the question is rather how you represent the data and determine likeness/sameness/distance measuring rather than an implementation language.

Lisp is a strong candidate, as is C/C++ - but really you are probably better off with whatever language you/your team knows best.

Again, figure out the data representation first.

Also - find another imaging/matching solution out there. There are already ones for license plates, fingerprint, etc - and maybe just use that source. The roblem is mostly solved...

Tim
+2  A: 

If you need to get something working quickly, I would suggest Matlab or some similar math package. There are a lot of built-in algorithms that you can use for image processing and rapid prototyping.

Mr. Brownstone
+4  A: 

Any language can be used for image processing, pattern recognition and object detection, which is what you're trying to do here. But you're better off finding a library or even an application instead, and then picking the language based on that choice.

Matlab is fine if you're familiar with it, unless you plan on delivering a working system that will be used by others to add or annotate data. In that case, you'll need something easier to deploy beyond your own workstation.

OpenCV might be a good place to start, and there's an OpenCV tutorial here.

Since it's a similar problem, you may want to check out the Face Recognition Homepage for more detailed information.

Marcel Levy
A: 

Your biggest problem here is developing the algorithm, not choosing the language. My advice would be to prototype your project in Matlab, if you have access to it. What you are trying to do is an active area of research, and many researchers prefer Matlab and publish their Matlab code. This means that you may be able to find Matlab code on the web that may do at least some of what you need, such as image segmentation.

I would advise against using C++, unless you actually get your algorithm to work, and speed becomes important. Matlab would allow you to quickly try out ideas, and avoid spending most of your time on implementation details. Once you develop your algorithm to the point when you are happy with the results, then you can think about implementing it as a usable system in a "real" programming language.

Dima